`
- 浏览:
2118776 次
- 性别:
- 来自:
深圳
-
Android:为什么现在google不让结束整个程序,只让结束单个Activity
不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。(这里解决了大家非要关进程的误区!)
到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,论坛上有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。
那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。
谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说android后台的原理,你就明白了。android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service。至于广播什么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个android的优点呢?(告诉我们如何合理使用进程管理软件)
还有一个,为什么android一个应用看起来那么耗内存。大家知道,android上的应用是java,当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。(跟塞班也不一样,安卓不容易死机重启)
以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。大家不妨按我说的习惯来用用这个系统。
祝大家玩机愉快,这系统开十天半个月都没问题,不是windows。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
单个Activity 多个Fragment实现微信 Android客户端
第1章介绍了阅读本书所需要做的一些准备工作,包括对Android整个系统架构的认识,以及Android开发环境和源码阅读环境的搭建等。注意,本书分析的源码是Android2.2。 第2章通过Android源码中的一处实例深入地...
Activity嵌套fragment大全,activity加载单个fragment,TabLayout+ViewPager实现多个fragment滑动效果
单片机C语言程序设计07 8只数码管滚动显示单个数字(基于8051+Proteus仿真)单片机C语言程序设计07 8只数码管滚动显示单个数字(基于8051+Proteus仿真)单片机C语言程序设计07 8只数码管滚动显示单个数字(基于8051+...
单片机C语言程序设计 8只数码管滚动显示单个数字(有源码)单片机C语言程序设计 8只数码管滚动显示单个数字(有源码)单片机C语言程序设计 8只数码管滚动显示单个数字(有源码)单片机C语言程序设计 8只数码管滚动显示...
单片机C语言程序设计8只数码管滚动显示单个数字(基于8051+Proteus仿真)单片机C语言程序设计8只数码管滚动显示单个数字(基于8051+Proteus仿真)单片机C语言程序设计8只数码管滚动显示单个数字(基于8051+Proteus...
断点下载,暂停后继续下载,设置知识:activity,service,广播,单线程,数据库
AndroidSingleActivityApp 具有单个活动和多个片段的 Android 应用程序。
Win7不关UAC去除单个程序右下角盾牌限制-给UAC添加白名单
然后,将整个库写入单个Activity类,因此您只需要将此Activity添加到您的Android应用即可。 这就是它的样子-观看此1分钟的视频进行演示:http: 设置: 安装几乎不需要3分钟。 只需遵循以下四个简单步骤: 您可以在...
支持单个activity全屏小窗切换; 3.支持进度条显示拖动快进; 4.视频播放器 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
android 通用图片上传,多文件上传,单文件皆可。。
整个应用程序在单个类 - Activity (MainActivity.java) 中实现,因为它很简单,但对于复杂的项目,理想的是应用面向对象并将其分解为几个类。 Deitel 教授为我提供指导的一本书,有几个完整的项目,可以从这里下载...
Activity API旨在启用跨平台机制,以允许在单个程序中共存多个执行上下文(此处不称为“线程”,因为它们不代表真正的线程)。 当前状态 有关此haxelib的当前状态,请参见此存储库中的STATUS.md。 概念介绍 该库已在...
19、Android的四大组件:Activity、Service、Broadcast Receiver、Content Provider 20、简述Andrid应用程序的结构是哪些? 答:Linux Kernel(Linux 内核)、Libraries(系统运行类库或者C/C++核心库)、Application ...
下载须知:黑帽seo程序只有视频介绍不含程序】烟雨黑帽SEO程序演示:AI智能模板制作神器,用于一键制作黑帽程序模板、零基础小白神器,可直接对接到你程序下使用,支持批量或单个模板的制作。适用于寄生虫、泛目录、...
android以不规则图片为边框,切割另外的图片.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
注意: 如果你使用即时运行 , AndroidStudio自动配置你的应用程序,你应用程序的minSdkVersion应该设置为21或更高。因为即时只工作在你APP的Debug版本,你任然需要配置你的release版本构建时用multidex避免64k的限制...
现在是信息飞速发展时代,单个的统计图已经无法满足实际生产的要求,人们只想通过快速的观察就能知道很多信息,所以组合统计图就运用而生了,诸如,人们想了解一个地方的大致情况,首先可能要了解当地的天气情况,...
Symantec Ghost Boot CD 2021是一个可靠的备份应用程序,允许您创建和恢复整个磁盘、分区或单个目录的备份映像。 这是一个强大的应用程序,它允许您创建一个完整的系统备份,以恢复您的计算机在硬盘驱动器故障或重大...