Android内存管理机制详解,【安卓知识普及贴】之关于安卓内存管理机制的一些介绍和阐述。...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
安卓系统其实不需要极度精简,只是一味的精简并不会给系统带来什么好处反而只有害处,因为许多系统应用跟设置里的选项有关联,删除掉就会在选择关联选项的时候FC,所以应当尽量保证系统的完整性。后台为什么会无缘无故多出很多进程呢?如果你真的理解安卓进程管理机制和软件架构的话,就会发现各种Receiver,各种CHANGED事件其实才是主因,一切都是软件进程事件触发自行后台启动造成的。因为安卓的进程管理机制是事件触发式,比如开机时、开机后、网络连接更改、电量不足、电量充足、时间更改、插上电源、断开电源等等这些状态的改变都可看作一个事件,而安卓系统允许程序关联这些事件(这个是在程序开发中由开发者设定的),比如关联开机事件后,就相当于我们一般说的开机启动了。但是安卓系统是可以允许一个程序关联多个事件的,以谷歌地图举例,它关联的触发事件有“开机后、安装程序、卸载程序、更新程序、插上电源”等等,这些事件中的任何一个状态发生改变,系统就会自动后台运行谷歌地图。虽然安卓系统这样做的目的是为了提高程序运行的效率,但是实际上却给普通用户带来了太多不必要的麻烦。
安卓系统为什么会总是突然出现卡顿呢,是因为很多软件安装完以后所产生的自启动项,会在你不知道的情况下,并会根据不同触发条件自行启动自身的进程,每次如果有一些自启动进程一起启动的时候都会临时占用大量CPU资源和内存资源,所以系统此时必然会出现卡顿。很多软件甚至会在你切换移动/WiFi网络的时候自行启动。假如你事先没有把WiFi设置成永不休眠,那么锁屏一段时间后WiFi会自行关闭进入休眠状态,每一次开屏系统就会自行启用一次WiFi,而很多软件在启用WiFi或者切换为移动网络的时候就会以此为触发条件自行启动。这个过程虽然短暂,但是会瞬间消耗大量的硬件资源,一定会出现卡顿的现象。所以你需要做的就是,使用自启管理禁止这些情况发生。而且机器总是特别耗电的问题,也大多是出在这上面,并非全是基带和系统版本的问题。这才是需要关注的本质问题:后台进程太多,总是自行启动无谓的消耗电量。很多人总是关注自己机器的内存使用情况怕运行内存剩余量变少,其实是错误的。2.3.4的安卓系统是改进了的内存管理机制,内存使用率高一些其实是一种优化,大多时候系统会保留缓存进程并占用一些内存以加速程序运行。所以总是用任务管理器杀进程来节省内存其实是一种错误的行为,因为你空出太多内存并没有好处,往往只有坏处。例如你杀掉了某个系统进程,系统会以为是紧急释放,现在内存又有了空间就会自动的重新加载这个进程,这么重新加载一下就要动用CPU进行轮询遍历,要通过I/O读取存储器....这个时候虽然你可能并不知道,但系统开销极其巨大,给你的直观感受就是—怎么又卡了,又比如,你随手干掉了一堆进程,内存空出来了,然后你滑动界面发现怎么还是卡?一次次的清理内存,相当于一次次的清空系统的冷热判断机制,明明很冷的程序,系统给你加载上了,明明很热的程序,系统转手给你释放了....要么系统出错,要么重建程序带来系统消耗。
在了解了这些以后,有针对性的进行优化,删除一小部分实在没用的系统附带应用,尽量保证系统完整性,通过其他的方法来提高系统表现即可,自启管理这个软件恰好是能把每个软件的receiver接收器事件全部列出来,让用户自己选择禁用或者启用,而市场上大大多数所谓的优化软件只能做到禁止最简单的开机项(基本没有什么意义),这就是为什么我推荐大家使用自启管理这个软件的原因
Android的内存管理机制,这是一种完全不同于WM,Symbian,Windows乃至Linux的机制,是一种专门针对移动系统设计的机制,所以不要用其他系统的一些惯性思维来玩安卓。在传统机制下,程序结束,内存释放,程序进入后台,系统消耗资源维持后台进程运行和状态。但Android并非如此,Android将运行在操作系统上的程序分为六大类:
Android内存管理机制详解,【安卓知识普及贴】之关于安卓内存管理机制的一些介绍和阐述。...相关推荐
- java 死锁 内存消耗_详解Java中synchronized关键字的死锁和内存占用问题
先看一段synchronized 的详解: synchronized 是 java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并 ...
- 注意力机制详解系列(五):分支与时间注意力机制
- 内存性能参数详解(转载)
内存性能参数详解 先说说最有效提高你机器内存性能的几个参数:CL,TRP,TRCD CAS Latency "列地址选通脉冲潜伏期" BIOS中可能的其他描述为:tCL.CAS L ...
- 编程式事务管理(详解)
第一章:编程式事务管理(详解) 1. 说明:Spring为了简化事务管理的代码:提供了模板类 TransactionTemplate,所以手动编程的方式来管理事务,只需要使用该模板类即可!! 2. 手 ...
- python内存的回收机制_python的内存管理和垃圾回收机制详解
简单来说python的内存管理机制有三种 1)引用计数 2)垃圾回收 3)内存池 接下来我们来详细讲解这三种管理机制 1,引用计数: 引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用 ...
- Android 进阶——Framework 核心之Android Storage Access Framework(SAF)存储访问框架机制详解(一)
文章大纲 引言 一.Android Storage Access Framework 二.Storage Access Framework 的主要角色成员 1.Document Provider 文件 ...
- Android设备扫描机制详解
Android设备扫描机制详解 本文基于Android pie,对Android的设备扫描机制做一个全面的解析,由于本人掌握的知识有限,如有讲错的地方还请大家指出来. Android提供了一套扫描机制 ...
- 安卓自定义View进阶-事件分发机制详解
原文地址:http://www.gcssloop.com/customview/dispatch-touchevent-source Android 事件分发机制详解,在上一篇文章 事件分发机制原理 ...
- Unreal3 window下内存管理实现详解
Unreal3 window下内存管理实现详解 最近组里面同事加入了一个很牛叉的内存管理代码,勾起我对内存管理的强烈欲望,以前也做过内存管理,在没有遇到U3以前看了3,4种算法(C++游戏编程 这本书 ...
- Android 系统(199)---Android事件分发机制详解
Android事件分发机制详解 前言 Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全.思路不清晰.无源码分析. ...
最新文章
- RxJava 内置多种用于调度的线程类型
- ubuntu 安装 python3.6.8
- 简单搭建zookeeper集群分布式/伪分布式
- FASHION STORE OPENCART 2.X 自适应主题模板 ABC-0588
- 解决ajax的status=0问题
- 菜鸟学习JavaScript小实验之函数引用
- dom定义了访问html文档对象的,HTML DOM (文档对象模型)
- ios采用什么技术_app软件公司开发宠物别APP采用什么技术?
- 谈判学:三招了解对方底线
- IbatiS关联字段映射
- 使用Xcode 6中的AutoLayout约束模拟方面适合行为
- Android自定义布局的背景在多分辨率的情况下设置fill_parent时背景不能够横向全屏的问题解决...
- POJ-3621 Sightseeing Cows 01分数(参数搜索)规划问题-最优比率环
- adb工具下载及安装
- 已知圆上任意两点求圆心和半径_圆曲线(已知两点和半径)座标计算
- 自己写的随手记事程序
- 2016微信数据报告 大数据展示微信生活
- Gradle下载慢解决方案
- 品优购项目--注册页面
- IDEA server乱码