2018.3.1、android-内存管理

news/2024/7/20 13:30:17 标签: 移动开发, 内存管理, ui

一、内存管理机制

1、分配机制: 操作系统会为每个进程分配合理的内存大小,从而保证每个进程能正常的运行

2、回收机制: 在系统内存不足的时候,会有一个内存回收再分配的过程,从而保证新的进程能够正常运行

二、android内存管理机制

1、分配机制: 弹性动态分配内存大小,但并不是不限制的分配过多的内存。android 内存分配的机制就是让更多的进程存活在内存中。减少了应用启动的时间,提高用户的体验

2、回收机制: 在android系统内存不足时,根据进程的优先级来杀死一部分进程回收内存,并从新分配到新的进程中。(前台进程(屏幕显示的进程) 、可见进程(不属于前台进程但又可见的进程)、服务进程(定位)、后台进程(后台计算处理数据)、空进程(没有任何东西运行在内存中))

三、内存管理机制的特点

1、更少的占用内存

2、适合的时候,合理的释放内存。频繁释放内存容易产出内存抖动

3、在android 系统内存紧张的时候,释放不重要的系统资源。为android 提供可用的内存。

4、合理的保存还原重要数据,使系统更快的回复该应用

四、内存优化方法

1、service完成任务后,及时关闭 IntentServie 继承service

2、UI不可见是释放部分UI使用到的资源

3、系统内存紧张的时候,释放不重要的系统资源

4、避免滥用Bitmap导致的内存浪费(调用recycle \使用软引用bitmap 然后使用Lru缓存算法)

5、使用对内存进行优化过的数据容器

6、避免注入框架的使用

7、使用多进程(webview单独的开启一个进程)

五、内存溢出和内存泄漏


http://www.niftyadmin.cn/n/836822.html

相关文章

详解linux杀死进程方法:kill、pkill、killall之间的区别及用法!

详解linux杀死进程方法:kill、pkill、killall之间的区别及用法!kill 命令killall 命令pkill 命令kill、pkill、killall之间的区别kill 命令 1、概念 Linux中的kill命令用来终止指定的进程的运行,是Linux下进程管理的常用命令。通常&#xff…

[转]JQuery控制radio选中、不选中、取值、事件

原贴地址:https://www.cnblogs.com/franson-2016/p/6893453.html 取值: var bm_Money $("input:radio[nameckbBM_Money]:checked").val(); 根据value值控制哪个radio选中: $(":radio[namesex][value" sex "]&q…

最常用的访问资源的协议:http、https、ftp、file

1、file 资源是本地计算机上的文件。格式file:///,注意后边应是三个斜杠。 2、ftp 通过 FTP访问资源。格式 FTP:// 3、http 通过 HTTP 访问该资源。 格式 HTTP:// 4、https 通过安全的 HTTPS 访问该资源。 格式 HTTPS:// 附:http与https的区别&#x…

NOI.AC NOIP模拟赛 第一场 补记

NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元。每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗糖果的愉悦度为\(A_i\),而第二家商店中的第\…

[五]基础数据类型之Short详解

Short 基本数据类型short 的包装类 Short 类型的对象包含一个 short 类型的字段原文地址:[五]基础数据类型之Short详解属性简介值为 215-1 的常量,它表示 short 类型能够表示的最大值public static final short MAX_VALUE 32767; 值为 -215 的常量&…

linux中安装python教程

linux中安装python教程Python概述安装PythonPython概述 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。…

对VR感兴趣,贾樟柯正在筹备VR电影长片

贾樟柯谈VR电影创作:电影技术变革剧烈,我始终是个学生。 当冯小刚在微博上为《我不是潘金莲》的排片和万达小王撕的飞起时候,李安已经开始尝试了120帧的《比利林恩故事》,张艺谋创办的VR公司也获得了投资。在刚刚举办的第38届开罗国际电影节…

mysql ip 地址字符串分割

2019独角兽企业重金招聘Python工程师标准>>> mysql 并没有字符分割函数,可以自己建立个函数 RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) 1),delim, ) 使用方法 SELECT SPLIT_STR(a|bb|ccc|dd…