美文网首页述术Android小小牛Android小牛
Application context和Activity con

Application context和Activity con

作者: zhangxuanchen | 来源:发表于2017-02-11 08:28 被阅读261次

    这是两种不同的context,也是最常见的两种.第一种中context的生命周期与Application的生命周期相关的,context随着Application的销毁而销毁,伴随application的一生,与activity的生命周期无关.第二种中的context跟Activity的生命周期是相关的,但是对一个Application来说,Activity可以销毁几次,那么属于Activity的context就会销毁多次.至于用哪种context,得看应用场景,个人感觉用Activity的context好一点,不过也有的时候必须使用Application的context.application context可以通过Context.getApplicationContext或者Activity.getApplication方法获取。

    还有就是,在使用context的时候,小心内存泄露,防止内存泄露,注意一下几个方面:

    1. 不要让生命周期长的对象引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的。
    2. 对于生命周期长的对象,可以使用application context。
    3. 避免非静态的内部类,尽量使用静态类,避免生命周期问题,注意内部类对外部对象引用导致的生命周期变化。

    相关文章

      网友评论

      本文标题:Application context和Activity con

      本文链接:https://www.haomeiwen.com/subject/sdgnittx.html