今天是否有任何 Android 支持可以提高性能的交换区域?
大多数 Android 设备放弃该功能的考虑因素是什么?
今天有任何Android支持交换区吗?
更具体地说,它确实使用分页但不使用交换空间。也就是说,它在很大程度上依赖于能够 mmap() 文件并根据需要从文件中获取内核页面(并在不需要时删除这些页面)。然而,它不使用交换空间来分页脏页。
稍作调整,交换区就可以与 Android 的默认低内存杀手一起很好地工作,对吧?
我当然不会这么认为。
今天是否有任何 Android 支持可以提高性能的交换区域?
它不应该“提高性能”。
是什么考虑让 Android 放弃了这个想法?
首先,板载闪存速度很慢,比您习惯在台式机和笔记本电脑上使用的硬盘驱动器和 SSD 慢得多。尽管如今 Android 设备上使用的闪存存储质量比以前更好,但速度仍然不快。这就是为什么,例如,在进行数据库 I/O、使用事务、限制磁盘写入操作时,我们必须特别小心。
其次,从历史上看,板载闪存的空间有限。我们的应用程序没有足够的内部存储空间,更不用说专门用于交换了。
如果您想进一步讨论这个问题,请使用更合适的论坛,例如http://android.stackexchange.com,因为您的问题仅与软件开发相关。
Android 确实支持交换...不要忘记它只是带有一些 UI 的普通 Linux。:)
但是,支持取决于您使用的内核。使用内核时,您应该知道它是否支持交换空间。
如果您擅长内核,请获取源代码,启用交换支持并编译它。我保证这应该很有趣:p
就我个人而言,我的内核支持交换空间,我使用一个 20 MB 的文件作为交换文件。
Android 甚至 iOS要真正支持非内核交换,必须克服三个障碍: