zoukankan      html  css  js  c++  java
  • 安卓学习66

    Android 高性能文件类MemoryFile

    很多网友抱怨Android 处理底层I/O 性能不是很理想,如果不想使用NDK 则可以通过MemoryFile 类实现高性能的文件

    读写操作。MemoryFile 顾名思义就是内存文件的意思,如果你过去从事过Win32 开发,那么它的原理就是MapViewOfFile(),

    当然开发过Linux 的网友可能很快就联想到了mmap(),是的该类就是他们的托管代码层封装,位于android.os.MemoryFile

    这个位置,从Android 1.0 开始就被支持。MemoryFile 适用于哪些地方呢? 对于I/O 需要频繁操作的,主要是和外部

    存储相关的I/O 操作,MemoryFile 通过将NAND 或SD 卡上的文件,分段映射到内存中进行修改处理,这样就用高速的RAM

    代替了ROM 或SD 卡,性能自然提高不少,对于Android 手机而言同时还减少了电量消耗。Android123 提示网友该类实现的

    功能不是很多,直接从Object 上继承,通过JNI 的方式直接在 C 底层执行。主要的构造方法MemoryFile(String name, int

    length) ,这里第二个参数为文件大小,需要说明的是Android 的MemoryFile 和传统的mmap 还有一点点区别,毕竟是手机,

    它内部的内存管理方式ashmem 会从内核中回收资源。毕竟目前部分低端机型的RAM 也比较吃紧。synchronized

    boolean allowPurging(boolean allowPurging) //允许ashmem 清理内存,线程安全同步的方式。

  • 相关阅读:
    牛客网-求和
    牛客网-删除公共字符
    牛客网-字符串中找出连续最长的数字串(好未来)
    牛客网-求数列的和(挖财)
    牛客网-树的高度(小米)
    牛客网-藏宝图(网易)
    【Python学习笔记】
    php平滑升级
    Nginx平滑升级
    linux下线刷硬盘
  • 原文地址:https://www.cnblogs.com/092e/p/14916837.html
Copyright © 2011-2022 走看看