今天的Android是否支持交换区域,这可能会提升性能?
使大多数Android设备放弃该功能的注意事项是什么?
答案 0 :(得分:27)
今天的Android是否支持交换区?
更具体一点,它确实使用分页但不使用交换空间。也就是说,它在很大程度上依赖于能够mmap()文件并根据需要在文件中包含内核页面(并在不需要时删除这些页面)。但是,它不使用交换空间来分页脏页。
稍微调整一下,交换区域可以与Android的默认低内存杀手一起使用,对吗?
我当然不会这么想。
今天的Android是否支持交换区域,这可能会提升性能?
不应该“提升表现”。
让Android放弃这个想法的考虑因素是什么?
首先,板载闪存速度慢,比您在台式机和笔记本电脑上使用的硬盘和SSD慢得多。虽然今天在Android设备上使用的闪存存储质量比以往更好,但它仍然没有快速尖叫。这就是为什么,例如,在进行数据库I / O时,我们必须特别小心,使用事务来限制磁盘写操作的数量。
其次,从历史上看,机载闪光灯的空间有限。我们的应用没有足够的内部存储空间,更不用说专门用于交换。
如果您希望进一步讨论此问题,请使用更合适的论坛,例如http://android.stackexchange.com,因为您的问题仅与软件开发有关。
答案 1 :(得分:6)
Android确实支持交换...不要忘记它只是简单的Linux上有一些UI。 :)
然而,支持取决于您正在使用的内核。使用内核时,您应该知道它是否支持交换空间。
如果你擅长内核,那么抓住源码,启用交换支持并编译它。我保证应该很有趣:p
我的内核个人支持交换空间,我使用20 MB文件作为交换文件。
答案 2 :(得分:0)
要让Android甚至iOS切实地支持非内核交换,必须克服三个障碍: