记深入分析优化Android应用系统的点点滴滴

原创 2016年08月31日 08:05:14

Memory management for different virtual machines

Android Monitor uses the Virtual Machine (VM) that the device or emulator uses:

  • Android 4.3 (API level 18) and lower uses the Dalvik VM.
  • In Android 4.4 (API level 19), the Android RunTime (ART) VM is an option, while the Dalvik VM is the default.
  • Android 5.0 (API level 21) and higher uses the ART VM.

The VM handles garbage collection. The Dalvik VM uses a mark-and-sweep scheme for garbage collection. The ART VM uses a generational scheme, combined with mark-and-sweep when memory needs a more thorough garbage collection, such as when memory becomes excessively fragmented. The logcat Monitor displays some messages that indicate the type of garbage collection that occurred and why.

Memory Monitor results can vary between the different VMs. As a result, if you’re supporting both VMs, you might want to test with both. In addition, the VMs available for different API levels can have different behavior. For example, the Dalvik VM in Android 2.3 (API level 10) and lower uses externally allocated memory while higher versions allocate in the Dalvik heap only.

You can’t reconfigure the Dalvik and ART VMs to tune performance. Instead, you should examine your app code to determine how to improve its operation, for example, reducing the size of very large arrays.

版权声明:本文为博主原创文章,未经博主允许不得转载。联系邮箱:changhetcgroup@qq.com,来信注明编程技术交流 举报

相关文章推荐

读书:《Android系统源代码情景分析》- 简述Android应用程序进程的启动过程

- Overview 1. AMS启动一个应用程序组件时,如果发现其所属应用的进程没有启动,则请求Zygote进程启动之 2. Z进程复制自身,使得app进程获得一个VM实例拷贝,能够运行Java...

Android系统架构分析 和 Android应用程序组件介绍

Android系统架构分析 , Android应用程序组件介绍
  • Ada54
  • Ada54
  • 2015-06-15 11:33
  • 794

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

声波通信(声波传输)在iOS、Android中的应用场景深入分析(含部分声波通信源代码)

最近声波通信非常火爆,尤其在很多嵌入式设备中的应用倍受关注,前段时间发布了声波通信部分源代码(iOS和Android版本,源代码最新版本下载地址:http://download.csdn.net/de...
  • jcgu
  • jcgu
  • 2014-11-11 11:00
  • 3415

PackageManagerService(Android5.1)深入分析(三)扫描应用目录

PackageManagerService的构造函数中调用了scanDirLI方法来扫描某个目录的apk文件。我们先来看看这个函数: private void scanDirLI(File d...

android系统 PowerManager深入分析(非常详细)

概述 一直以来,电源管理是电子产品设计中非常重要的环节,也是任何电子设备中最为重要的系统模块之一,优秀的电源管理方案,能够提供持久的续航能力,良好的用户体验,更能提升电子产品的竞争力。 移...

(原创)android6.0系统 PowerManager深入分析

移动设备的电量主要由两种元件消耗:CPU和显示屏,因此设法降低这两种元件的耗电量就是电源管理的关键,为移动设备设计的CPU大多有两种工作频率,为了省电,大部分时间内cpu都工作在降低频率下,只有进行密...

Android PKMS深入分析安装应用

一、安装的Activity 在Android,通过发送Intent可以启动应用的安装过程,如下所示: [java] view plain copy Uri uri = Uri.fromF...

PackageManagerService(Android5.1)深入分析(四)安装应用

一、安装的Activity 在Android,通过发送Intent可以启动应用的安装过程,如下所示: Uri uri = Uri.fromFile(new File(filename)); Inten...

(原创)android6.0系统Healthd深入分析

概述 Healthd是android4.4之后提出来的一种中介模型,该模型向下监听来自底层的电池事件,向上传递电池数据信息给Framework层的BatteryService用以计算电池电量相关状态信...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)