【发布时间】:2015-10-05 21:23:10
【问题描述】:
我想知道并在谷歌上搜索答案,但没有找到。那么,像 Dalvik VM 这样的较新的 ART 沙盒应用程序吗?更准确地说,这个链接中的图片也可以申请ART吗? http://davidchang168.blogspot.rs/2012/07/android-vm-and-application.html
【问题讨论】:
标签: android dalvik android-runtime
我想知道并在谷歌上搜索答案,但没有找到。那么,像 Dalvik VM 这样的较新的 ART 沙盒应用程序吗?更准确地说,这个链接中的图片也可以申请ART吗? http://davidchang168.blogspot.rs/2012/07/android-vm-and-application.html
【问题讨论】:
标签: android dalvik android-runtime
那么,像 Dalvik VM 这样更新的 ART 沙盒应用吗?
Dalvik VM 不会沙盒应用。 Android 操作系统沙盒应用程序。 ART 改变了应用程序中执行内容的性质(AOT 编译的字节码而不是 JIT 编译的字节码)。它不会改变 Android 进程模型和沙盒方法的性质。
更准确地说,此链接中的图像也可以申请 ART 吗?
是的。
【讨论】:
您的第二个问题与第一个问题(沙盒)无关。
ART 和 Dalvik 一样,利用了paging 机制,实际上它甚至比它的前身还要好。这是因为oat code 是可分页的,而JITted 代码不是,因为它是动态生成的。因此,不仅是框架多媒体,即图像,还可以在应用程序之间共享代码。
为了理解这一点,想象一下 String 类。我敢打赌,99% 的 Android 应用程序都在使用它。因此,它的代码和一小堆对象在设备启动时在boot.oat 和boot.art 图像上创建一次。然后可以在应用程序之间共享这些图像,并包含比 String 类更多的类。
当应用程序尝试修改此类中的某些内容时,copy-on-write 机制可确保应用程序将获得该特定页面的单独副本,而其余应用程序可以继续共享该页面的原始副本。
这个page-ability 对内存和性能都有好处。
【讨论】: