android内存管理(四)
来源:互联网 发布:egd网络黄金最新报价 编辑:程序博客网 时间:2024/06/01 09:52
有时候我们用application传递数据要注意的地方
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class MainActivity extends Activity implements OnClickListener{
public ArrayList<Object> list = new ArrayList<Object>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list.add("123");
list.add("123");
// 这里面我们使用application来传递数据
MyApplication application = (MyApplication) getApplication();
application.setData(list); // 这么写问题就非常大了,你这个application将保持这个list的引用,而这个list是这个actiivty的成员,既然你把持这list的引用,
// 那activity就不能被是放掉,这就违背了,所以使用下面的方法
application.setData(list.clone());// 所以你这里需要clone一个新的,这个是一个新的
//这个时候就可以在subactivity中获取值了
}
@Override
public void onClick(View v) {
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class MyApplication extends Application {
private Object data;
@Override
public void onCreate() {
super.onCreate();
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class SubActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyApplication application = (MyApplication) getApplication();
List<Object> list = (List<Object>) application.getData();
}
}
- android内存管理(四)
- 内存的管理(四)
- iphone内存管理(四)
- 内存管理(四)
- C#内存管理(四)
- C++内存管理详解(四)
- WinCE内存管理(四)
- 动态内存分配管理(四)
- 92,内存管理(四)
- DPDK内存管理 ----- (四) rte_mbuf
- block内存管理(四)
- 四 Windows的内存管理
- Android内存泄露 (四)
- android 内存溢出 内存管理
- Linux内存管理(四)——物理内存管理
- android内存管理
- Android 的内存管理
- Android 之 内存管理
- 输入输出重定向
- Network
- zookeeper伪分布式安装
- 实现PMO价值的若干经验
- Linux route 使用
- android内存管理(四)
- 连接数据库,并将结果 显示分页
- 第31天: 锁 S X
- hdu 5009 离散化+链表+dp
- 如何和程序员打交道
- java中的异常机制
- 1084. Broken Keyboard (20)
- 使用牛顿法确定逻辑斯谛回归(Logistic Regression)最佳回归系数
- springmvc的ModelAttribute注解