Why don't most Android devices have swap area as typical OS does?

前端 未结 3 428
轻奢々
轻奢々 2021-02-04 01:24

Does any Android today support swap area which is suppose to boost the performance?

What are the considerations that make most Android devices drop that feature?

相关标签:
3条回答
  • 2021-02-04 01:30

    Does any Android today support swap area?

    Quoting Dianne Hackborn:

    To be a little more specific, it does use paging but not swap space. That is, it relies heavily on being able to mmap() files and have the kernel page in data from the file as needed (and drop those pages when not needed). It does not however use swap space for paging out dirty pages.


    With some slightly adaptions, swap area can work with Android's default low memory killer together well, right?

    I certainly would not assume that.

    Does any Android today support swap area which is suppose to boost the performance?

    It is not supposed to "boost the performance".

    what's the considerations that make Android drop this idea?

    First, on-board flash is slow, much slower than the hard drives and SSDs that you are used to on desktops and notebooks. And while the quality of the flash storage used on Android devices today is better than it used to be, it's still not screaming fast. That's why, for example, we have to take special care when doing database I/O, to use transactions, to limit the number if disk write operations.

    Second, historically, on-board flash was limited in space. We didn't have enough internal storage for our apps, let alone to dedicate some for swap.


    If you wish to discuss this further, please use a more appropriate forum, such as http://android.stackexchange.com, as your question is only tangentially related to software development.

    0 讨论(0)
  • 2021-02-04 01:32

    For Android or even iOS to practically support non-kernel swapping, three hurdles must be overcome:

    1. Space Constraints: Due to the usage of flash memory, as opposed to HDD's, space comes at a relative premium
    2. Write Frequency: Flash memory tolerates fewer writes before becoming unreliable (relative to HDD)
    3. Communication Throughput: There is poor throughput between main memory and flash memory on mobile devices
    0 讨论(0)
  • 2021-02-04 01:34

    Android does support swap... Don't forget it's just plain Linux with some UI on it. :)

    However the support is dependent on the kernel you are using.. When using a kernel you should know if it supports swap space or not..

    If you are good in kernels, then grab the source, enable swap support and compile it. I guarantee that should be fun :p

    Personally my kernel supports swap space and I use a 20 MB file to act as a swap file.

    0 讨论(0)
提交回复
热议问题