为了账号安全,请及时绑定邮箱和手机立即绑定

App内存泄漏优化关键点

标签:
Android

推荐一个靠谱的内存泄漏分享,感谢博主:https://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650238704&idx=1&sn=ad334840afdc2d9bdb8215e9f942e54e&chksm=88639f9fbf1416898edfc3615a7ea25f6798e3bb6f3089ca720e18b92ce67328c623561cf35e&scene=0#rd

综合上述博主分享及结合自身实际开发中所遇到的泄漏,做个简单的解决思路总结:

关于App内存泄漏,相信多多少少都会遇到一些

关于排查泄漏不再赘述,相关工具可以使用MAT/LeakCanary,下面标出一些常见的注意点:

1.无论是单例还是常规引用,我们的Context用于都是第一位,只需记住无论何时,Context对象优先使用ApplicationContext,覆盖整个软件生命周期

2.Activity,对于那些必须使用Activity对象的引用,我们需要将Activity对象修改成软引用或弱引用,使用时首先判空

3.Handler,通常我们的Handler都是以内部类的形式创建,这个时候我们需要将其修改为静态内部类,同时弱引用;销毁时清空消息队列,使用handler.removeMessageAndCallback(null)

4.Bitmap,Bitmap.recycle(),bitmap=null;同时使用弱引用

5.WebView ,调用销毁方法,清除JavaScript对象,WebView.removeAllViews(),WebView.destory();

6.List,销毁时调用List.clear(),清空,list= null

7.网络及文件流对象已经数据库Cursor的使用完关闭,这个是最基本的点,不再多说

以上为一些个人开发中最常见引用就方案,经过排查实战已见效果。在我们做内存优化时,时刻关注这几个点,我们的泄漏就会减少很多

ps:平时多看看靠谱的技术分享,自己再去实践验证,印象深刻,刻在自己的脑子里

原文链接:http://www.apkbus.com/blog-35555-68726.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消