安卓开发中关于内存泄露的问题

leetow2006 2018-12-13 01:48:21
我们知道,手机中的内存都会很有限的,所以我想了解有关
内存泄露的问题。
一、安卓也和java一样,有垃圾回收机制。
那么是不是只要我们在不使用对象时,对该对象
赋予null,即obj=null,那么系统就会自动回收,
不会造成内存泄露,是不是这样?
二、有什么办法能判断是否有内存泄露?
并能判断是哪条语句或是哪个对象发生了
内存泄露?
三、有什么良好的编程习惯,能尽量避免发生内存泄露?
...全文
788 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
明缘 2018-12-21
  • 打赏
  • 举报
回复
引用 8 楼 leetow2006 的回复:
那是不是说只要把所有用到activity实例的对象都赋值为null,那么activity也就不泄露了?

当然不是,另外没有很固定的可以检测泄露的方法,工具的话楼上的已经说过可以试一下。
leetow2006 2018-12-18
  • 打赏
  • 举报
回复
那是不是说只要把所有用到activity实例的对象都赋值为null,那么activity也就不泄露了?
过儿丶 2018-12-17
  • 打赏
  • 举报
回复
举个例子。如果说activity实例泄漏了,那么所有用到activity实例的对象都要赋值为null。比如xxxmanger。layoutinflater,等待
leetow2006 2018-12-14
  • 打赏
  • 举报
回复
activity内存泄露,是指activity对象本身还activity中的对象?
黄小楼 2018-12-13
  • 打赏
  • 举报
回复
如果一个对象没有在任何地方被引用,那就会被回收。 在Android里面,我们很多时候说的内存泄露说的都是activity。 那么去针对activity理解,将是一个非常好的东西。
leetow2006 2018-12-13
  • 打赏
  • 举报
回复
对了,我现在是用eclipse开发
leetow2006 2018-12-13
  • 打赏
  • 举报
回复
一、如果一个对象的都没有被引用了,是不是就能被系统自动回收了?
二、LeakCanary框架是什么?能不能举个例子说明下?
jklwan 2018-12-13
  • 打赏
  • 举报
回复
参考文章https://mp.weixin.qq.com/s/Z7oMv0IgKWNkhLon_hFakg?,虽然比较老,还是可以看看的。
键盘舞者113 2018-12-13
  • 打赏
  • 举报
回复
问题一: 不是,因为赋予null,只是取消对这个对象的一个引用,但是这个对象可能有其他引用

问题二:你可以使用LeakCanary框架来完成对内存泄漏的检测

问题三:你需要了解内存泄漏的常见场景,比如:静态变量、非静态内部类、线程等,你就可以避免

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧