Android基础(29)内存泄漏

 我来答
京斯年0GZ
2022-06-24 · TA获得超过6208个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:74.3万
展开全部

1)oom是什么?
2)什么情况导致oom?
3)有什么解决方法可以避免OOM?
4)Oom 是否可以try catch?为什么?
5)内存泄漏是什么?
6)什么情况导致内存泄漏?
7)如何防止线程的内存泄漏?
8)内存泄露场的解决方法
9)内存泄漏和内存溢出区别?
10)用IDE如何分析内存泄漏?

11)ANR产生的原因是什么?
12)ANR定位和修正
13)广播引起anr的时间限制是多少?

即 ML (Memory Leak)
指 程序在申请内存后,当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象。
从机制上的角度来说:
出现内存泄露的原因是 无意识地持有对象引用,使得 持有引用者的生命周期 > 被引用者的生命周期

a. 内存分配策略
由 ActivityManagerService 集中管理 所有进程的内存分配
b. 内存回收策略

a. 内存分配策略

用1个实例讲解 内存分配

b. 内存释放策略

静态成员变量有个非常典型的例子 = 单例模式

解决方案
单例模式引用的对象的生命周期 = 应用的生命周期

多线程:AsyncTask、实现Runnable接口、继承Thread类

Handler弱引用方式

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式