【移动开发】Android中一些你可能不太知道的东西

简介:

 今天,我们来浅谈一下你可能不知道的一些东东


1.不用在意剩余内存的大小

   其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的(下一篇我会讲到Android应用程序完全退出方法),这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度 有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。

  这本来是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。(这里解决了大家非要关进程的误区!)


2.为什么内存少的时候运行大型程序会慢呢?

    那其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,通过更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。

那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。


3.不关程序是不是会更耗电?

   这里讲解一下android后台的原理,你就明白了。android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service

所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个android的优点呢?


 4.为什么android一个应用看起来那么耗内存

   大家知道,android上的应用是java,当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。(跟塞班也不一样,安卓不容易死机重启)


    以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。

   大家可能是被 windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。大家不妨按我说的习惯来用用这个系统。






     本文转自zhf651555765 51CTO博客,原文链接:http://blog.51cto.com/smallwoniu/1248169
,如需转载请自行联系原作者

相关文章
|
Android开发 数据格式 XML
Android NumberProgressBar:动态移动显示百分比进度的进度条
 Android NumberProgressBar:动态移动显示百分比进度的进度条 NumberProgressBar是github上一个开源项目,其项目主页是:https://github.com/daimajia/NumberProgressBar NumberProgressBar特点是当进度条在前进时候,显示出来的百分比进度数字随进度条实时显示出来,如图: 这种特点在实现一些比如下载、加载功能模块时候比较有用。
1835 0
|
监控 前端开发 Java
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
Android自定义控件(十)——SurfaceView实战实现天气APP背景移动效果
354 0
|
Java Android开发
移动应用程序设计基础——Android环境构建与Activity生命周期
安装智能手机开发相关软件平台,并在此基础上测试Activity的生命周期过程。 5、 完成智能手机开发平台安装、以及相关配置; 6、 并实现Hello World; 7、 添加Log日志,通过Log日志验证Ac 1、 安装JAVA JDK 2、 安装Android Studio,熟悉AS的基本操作,改变AS的字体,显示方式;截图和文字说明。 3、 建立新项目,实现Hello World。说明各个文件的作用,以及各个关键语句的作用或含义,给出程序的运行结果。 4、 设置生命周期的Log日志,分别执行相关操作
231 0
移动应用程序设计基础——Android环境构建与Activity生命周期
|
XML 移动开发 ARouter
为什么说Flutter让移动开发变得更好?Android篇
为什么说Flutter让移动开发变得更好?Android篇
为什么说Flutter让移动开发变得更好?Android篇
|
Web App开发 移动开发 前端开发
Android面试:为什么说Flutter让移动开发变得更好?全套教学资料
Android面试:为什么说Flutter让移动开发变得更好?全套教学资料
|
Android开发 开发者 Kotlin
android移动支付——PayPal支付
android移动支付——PayPal支付
android移动支付——PayPal支付
|
缓存 安全 Java
android移动支付——微信支付
android移动支付——微信支付
|
监控 数据处理 调度
友盟+U-APM 移动应用性能体验报告:Android崩溃率达0.32%,OPPO 、华为、VIVO 崩溃表现良好
应用性能稳定是良好用户体验中非常关键的一环,而现实情况却是应用崩溃、卡顿、加载缓慢、页面白屏等问题,频频出现在用户的真实体验之中,成为影响业务表现的直接杀手。为此,应用性能管理(APM)正在国内外蓬勃发展,被越来越多的企业所认可。
友盟+U-APM 移动应用性能体验报告:Android崩溃率达0.32%,OPPO 、华为、VIVO 崩溃表现良好
|
监控 算法 前端开发
移动性能测试 | 持续集成中的 Android 稳定性测试
来自学院内部学员 xinxi 同学的又一篇佳作,本文主要介绍了作者如何借助开源工具进行 Android 的稳定性测试,并在持续集成中使用,希望对大家有所帮助。
移动性能测试 | 持续集成中的 Android 稳定性测试

热门文章

最新文章