1.在一个普通的class里,怎么访问activity类里的非静态变量或方法
也可以通过构造函数将上下文传递过去!
即 ab c=new ab(xxxActivity.this)
在ab类中,
通过这个上下文调用acitivity里面的方法
public class A{
private TestActivity mActivity;
public A(TestActivity context){
mActivity = context;
xx();
}
private void xx(){
mActivity.method();
}
}
----------------------------------------------------
2. Activity中static静态变量释放的问题
重写了onDestory,在onDestory里添加android.os.Process.killProcess(android.os.Process.myPid());
把线程干掉,释放其静态变量,再次调用就正常了。
当窗口消毁时,Activity的静态变量是存在的,因为静态变量是属全局变量、静态变量是整个应用程序的公共变量(即使你这个地方写的是私有),所以Activity消毁时,静态变量是不会清除的。但当什么时候才会清除呢,上面说过静态变量是整个应用程序的,所以只有当各个应用程序的进程消毁时,静态变量才会毁,所以当LZ调用android.os.Process.killProcess(android.os.Process.myPid());就正常了。
demo
public class myactivity extends Activity {
private static Drawable sBackground;
protected void onCreate(Bundle state) {
super.onCreate(state);
TextView label = new TextView(this);
label.setText("Leaks are bad");
if (sBackground == null) {
sBackground = getDrawable(R.drawable.large_bitmap);
}
label.setBackgroundDrawable(sBackground);//drawable attached to a view
setContentView(label);
}
}
屏幕旋转的时候系统会销毁当前的activity。但是当drawable和view关联后,drawable保存了view的 reference,即sBackground保存了label的引用,而label保存了activity的引用。既然drawable不能销毁,它所引用和间接引用的都不能销毁,这样系统就没有办法销毁当前的activity,于是造成了内存泄露。gc对这种类型的内存泄露是无能为力的。
----------------------------------------------------------
3.动态改变listview
Adapter.notifyDataSetChanged();
----------------------------------------------------------
-------------------------------------------------------
分享到:
相关推荐
在Android开发中,Activity是应用程序的基本构建块,用于表示用户界面。实时模糊效果是一种常见的设计手法,用于在某个视图或Activity背后创建一种半透明、模糊的视觉效果,以突出显示前景内容。这种效果通常用于...
在Android开发中,Activity是应用程序的基本组件,用于承载用户界面。Activity之间的切换动画可以极大地提升用户体验,"android activity右进右出动画"就是一个常见的应用场景,它使得应用在切换时具有更加自然、...
### Android Activity之间数据的回传 #### 一、引言 在Android开发中,Activity间的交互是非常常见的需求。特别是当我们需要从一个Activity跳转到另一个Activity,并希望在完成某些操作后能够将数据回传给原始...
Android Activity 生命周期 Android Activity 生命周期是指 Activity 从创建到销毁的整个过程,该过程中会经历多个状态变化,每个状态变化都会触发相应的回调方法。理解 Activity 生命周期是 Android 开发的基础。 ...
在Android开发中,Activity是应用程序的基本构建块,用于展示用户界面和处理用户交互。当我们希望Activity的背景变得透明,以实现如悬浮窗、半透明过渡效果等设计需求时,就需要对Activity进行一些特殊的配置。本篇...
在Android开发中,Activity是应用程序的基本构建块,它代表了一个用户可见并与其交互的屏幕。Activity可以展示用户界面,处理用户输入,并与系统服务或其它应用程序进行交互。本压缩包"Activityzhuanghuantexiao...
在Android应用开发中,Activity是核心组件之一,它代表了用户界面的一个屏幕或者一个交互窗口。这个"android Activity 详述 demo"旨在深入探讨Activity的工作原理及其在实际应用中的使用方式。通过链接给出的博客...
Android Activity学习笔记 Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。本文将深入讲解Activity的生命周期、Activity之间的数据交互、Activity启动模式、Task和BackStack...
在Android开发中,Activity的跳转动画是提升用户体验和增加应用趣味性的重要手段。本文将深入探讨"android activity跳转动画最全集合"中的各种动画效果,并解释如何在实际项目中实现这些过渡效果。 首先,Activity...
在Android应用开发中,Activity是用户界面的基本单元,它负责展示屏幕上的内容并处理用户交互。当用户在应用中从一个Activity切换到另一个时,Android系统提供了丰富的动画效果来提升用户体验,使应用看起来更加流畅...
在Android开发中,Activity是应用程序的基本构建块,用于展示用户界面和处理用户交互。Activity间的切换是用户体验的重要组成部分,为了使应用更具吸引力和流畅性,Android提供了丰富的动画机制来美化这种切换过程。...
在Android开发中,Activity是应用程序的基本组件之一,用于呈现用户界面并与用户交互。然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity...
在Android应用开发中,Activity和Fragment是两个核心组件。Activity作为用户界面的主要承载者,而Fragment则被设计为可重用的UI模块,可以插入到一个或多个Activity中,使得应用能够更好地适应不同屏幕尺寸和配置。...
在Android应用开发中,Activity是构成应用程序的基本单元,它负责用户界面的展示和交互。Activity间的跳转和数据传递是Android开发中的常见操作,对于构建功能丰富的应用至关重要。本篇文章将详细阐述如何在Android...
一篇关于android activity的详细总结
在Android应用开发中,Activity是用户界面的基本单元,用于展示应用程序的不同屏幕或“视图”。Activity之间的切换效果对于用户体验至关重要,它可以提升应用的视觉吸引力和交互性。本篇将深入探讨如何利用第三方库...
android activity之间的跳转
在Android应用开发中,Activity是用户界面的基本单元,用于展示应用程序的不同屏幕或“视图”。当我们需要在不同的Activity之间进行切换时,为了提供更丰富的用户体验,可以加入动画效果。这不仅能够使应用看起来...
在Android应用开发中,Activity是应用程序的基本构建块,它代表用户界面的一个屏幕。理解Activity的跳转和ListView的使用是Android开发中至关重要的技能。在这个主题中,我们将深入探讨如何通过Intent和Bundle实现...
在Android应用开发中,Activity和Fragment是两个核心组件。Activity作为应用程序的主要入口点,而Fragment则作为可重用的UI块,可以在多个Activity之间切换或组合。然而,在使用Fragment时,有时会出现一个问题:当...