Android中利用Application操作全局变量

我们Application除了作为入口类初始化一些操作,还可以作为我们全局存储数据的一个容器。这里我们就讲解一下如何用Application来存储我们的数据。

首先我们要明确的一点就是,什么样的数据可以用Application来进行存储。

适合在Application中存储的全局变量主要有下面三类数据:

  • 会频繁读取的信息,如用户名、手机号等。
  • 从网络上获取的临时数据,为节约流量,减少用户等待时间,想暂时放在内存中供下次使用,如logo,商品图片等。
  • 容易因频繁分配内存而导致内存泄漏的对象,如Handler对象等。

那么我们应该如何将变量通过Application存储在内存中?这里提供一个举例供大家参考。

public class MainApplication extends Application {
    //声明一个当前应用的静态实例
    private static MainApplication mApp;
    //声明一个公共的信息映射,可当做全局变量使用
    public HashMap<String,String> mInfoMap = new HashMap<>();
    
    public static MainApplication getInstance(){
        return mApp;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        mApp = this;
    }
}

这样我们就可以用MainApplication.getInstance().mInfoMap获取到Appliication中的这个HashMap对象,并进行读写其中数据的操作。

这个其实和我在《Android项目初始化和url地址存储的写法》一文中提到的方法如出一辙,不过一个是用了每次只启动一次的Application,一个用了单例模式,殊途同归。大家可以选择适合自己的使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值