理论教育 Android内存优化的重要性

Android内存优化的重要性

时间:2023-06-19 理论教育 版权反馈
【摘要】:并且从很多方面来看,每个Android应用程序都存在于它自己的世界之中:在默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任意代码开始执行时,Android启动一个进程,而当不再需要此进程而其他应用程序又需要系统资源时,则关闭这个进程。虽然单个Android应用程序都存在于它自己的世界之中,但是其实现大多数都离不开Java语言,Java相比传统的C/C++等编程语言的一个明显优点就是解决了内存泄漏的问题。

Android内存优化的重要性

要想理解Android内存优化的作用,需要从其本身的存在方式和应用程序的进程谈起Android应用程序使用Java做为开发语言,AAPT工具把编译后的Java代码连同其他应用程序需要的数据和资源文件,一起打包到一个Android包文件中,这个文件使用“.apk”格式做为扩展名,它是分发应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一“.apk”文件中的所有代码被认为是一个应用程序。

这是一个完整的应用程序,从外表看不会发现任何与内存优化有关的蛛丝马迹。并且从很多方面来看,每个Android应用程序都存在于它自己的世界之中:

在默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任意代码开始执行时,Android启动一个进程,而当不再需要此进程而其他应用程序又需要系统资源时,则关闭这个进程。

每个进程都运行于自己的Java虚拟机(Java Virtual Machine,JVM)中。所以应用程序代码实际上与其他应用程序的代码是隔绝的。

在默认情况下,每个应用程序均被赋予一个唯一的Linux用户ID,并加以权限设置,使得应用程序的文件仅对这个用户、这个应用程序可见。当然,也有其他的方法使得这些文件同样能为别的应用程序所访问。(www.daowen.com)

虽然单个Android应用程序都存在于它自己的世界之中,但是其实现大多数都离不开Java语言,Java相比传统的C/C++等编程语言的一个明显优点就是解决了内存泄漏的问题。这个时候,内存优化便被推到了前台。

Java程序的内存分配与回收都是由Java运行环境(Java Runtine Environment,JRE)在后台自动进行的。JRE会负责回收那些不再使用的内存,也就是大家听说的内存回收机制(Garbage Collection,GC)。

Java的堆内存是一个运行时(Runtime)数据区,用以保存对象,Java虚拟机(Java Virtual Machine,JVM)堆内存中存储着正在运行的应用程序所建立的所有对象,这些对象不需要程序通过代码来显示的释放。垃圾回收是一种动态存储管理技术,它自动释放不再被程序引用的对象,按照特定的垃圾回收算法来实现内存资源的自动回收功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈