Android性能优化:手把手带你全面实现内存优化

作者:jcmp      发布时间:2021-04-23      浏览量:0
一、目录二、1. 定义优化处理 应用程序

一、目录

二、1. 定义

优化处理 应用程序的 内存使用、空间占用

三、2. 作用

避免因不正确使用内存 & 缺乏管理,从而出现 内存泄露 (ML) 、内存溢出 (OOM) 、内存空间占用过大 等问题,最终导致应用程序崩溃( Crash )。

四、3. 储备知识:Android 内存管理机制

3.1 简介

下面,将针对回收 进程、对象 、变量的内存分配 & 回收进行详细讲解。

3.2 针对进程的内存策略

a. 内存分配策略

由 ActivityManagerService 集中管理 所有进程的内存分配。

b. 内存回收策略

3.3 针对对象、变量的内存策略

下面,将详细讲解 内存分配 & 内存释放策略

a. 内存分配策略

注:用1个实例讲解 内存分配

public class Sample { // 该类的实例对象的成员变量s1、mSample1 & 指向对象存放在堆内存中 int s1 = 0; Sample mSample1 = new Sample(); // 方法中的局部变量s2、mSample2存放在 栈内存 // 变量mSample2所指向的对象实例存放在 堆内存 public void method() { int s2 = 0; Sample mSample2 = new Sample(); }} // 变量mSample3的引用存放在栈内存中 // 变量mSample3所指向的对象实例存放在堆内存 // 该实例的成员变量s1、mSample1也存放在堆内存中 Sample mSample3 = new Sample();

b. 内存释放策略

五、4. 常见的内存问题 & 优化方案

4.1 内存泄露

4.2 图片资源Bitmap相关

4.3 内存抖动

4.4 代码质量 & 数量

4.5 常见使用

4.6 额外小技巧

此处,还有一些内存优化的小技巧希望告诉给大家

六、5. 辅助内存优化的分析工具

5.1 MAT(Memory Analysis Tools)

5.2 Heap Viewer

5.3 Allocation Tracker

5.4 Memory Monitor

5.5 LeakCanary

至此,关于内存优化的所有知识讲解完毕

七、6. 总结

八、请点赞!因为你的鼓励是我写作的最大动力!

不定期分享关于 安卓开发 的干货,追求 短、平、快 ,但 却不缺深度 。