在安卓中一种比较好的储存全局共享变量的方法是继承Application,将全局变量写入继承的Application类中,然后在Activity或Service中通过getApplication()方法来获全局变量中.形如以下用法:

//MyApplication.javapublic class MyApplication extends Application{public WeakReference<MyPublicData> d;public void setMyPublicData(MyPublicData _d){d = null;d = new WeakReference<MyPublicData>(_d);}public MyPublicData getMyPublicData(){return d.get();}}


//Activity_1.javad = new MyPublicData(this);((MyApplication)this.getApplication()).setMyPublicData(d);//Activity_2.javaMyPublicData d = ((MyApplication)this.getApplication()).getMyPublicData();


最后在manifest中application标签上加入name项:

<application        ...        android:name=".MyApplication">


我的个人习惯是用一个MyPublicData来储存各种全局变量,这样比较符合语义而且比较容易修改.

例子中在Activity_1中初始化MyPublicData是因为项目设计因素,个人建议将MyPublicData的初始化放在MyApplication的OnCreate中.

更多相关文章

  1. Android中动态初始化布局参数以及ConstraintLayout使用中遇到的
  2. Android GPS学习笔记—LMS初始化
  3. android kernel 初始化 2
  4. Android MediaServer初始化流程
  5. Android 初始化Setup Wizard——Provision
  6. Android 编译流程解析01-AppPlugin初始化
  7. android 软键盘隐藏 activity初始化时edittext聚焦
  8. Android GPS学习笔记—GpsLP初始化

随机推荐

  1. android debug set screen rotation
  2. 解析Android中的线程
  3. 在线生成免费android ios图标
  4. Android四大图片缓存框架之-Fresco(一)
  5. Android(安卓)Studio或Idea中必备插件、
  6. android 消息机制浅析
  7. RN 与 Android(安卓)代码交互
  8. Android06之RecyclerView详解
  9. 关于socket编程【以聊天为例】
  10. 直播一对一源码在Android音频开发中如何