Android技术点

1.handler源码,handler Handler, Looper的理解

2.rxjava机制 rxjava retrofit

3.view绘制流程

4.事件派发流程,Touch事件机制

5.MVP MVVM

6.InterService线程同步

7.Eventbus和广播区别

8.Android开发中常见的内存泄漏

      对象没有反注册

      数据库cursor没有关闭

      Bitmap没有回收

      ListView item没有复用

      Handler在Activity中定义为非static的匿名内部类

  1.造成泄漏的原因是拥有更长生命周期的对象持有短生命周期对象的强引用。

  2.单例对象的生命周期是和应用一样的,Application的生命周期也是和应用一样的,所以如果它没有持有比它生命周期更短的对象的引用就不会       发生内存泄漏

正确使用Context

一般Context造成的内存泄漏,几乎都是当Context销毁的时候,却因为被引用导致销毁失败,而Application的Context对象可以理解为随着进程存在的,所以我们总结出使用Context的正确姿势:

1:当Application的Context能搞定的情况下,并且生命周期长的对象,优先使用Application的Context。

2:不要让生命周期长于Activity的对象持有到Activity的引用。

3:尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用,如果使用静态内部类,将外部实例引用作为弱引用持有。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,651评论 25 709
  • Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏...
    _痞子阅读 5,557评论 0 8
  • 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,...
    宇宙只有巴掌大阅读 7,032评论 0 12
  • Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏...
    apkcore阅读 4,993评论 2 7
  • Clara: 昵称:クララ(库拉拉/克拉拉) 声音特点:声线清澈,独唱中高音部分能推到较高,合唱中覆盖了Aris的...
    缘叶二次元阅读 5,313评论 0 1

友情链接更多精彩内容