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 清理内存,线程安全同步的方式。

  • 相关阅读:
    使用Picture Control显示BMP图片
    [转]程序员技术练级攻略
    自绘控件笔记
    VS2010中CMFCToolBar的用法
    我用到的FireFox浏览器插件
    C# 中的 DataTimePicker 控件的时间转换
    MacBook 小白,安装 JDK
    C# Combobox 设置选中项
    Drupal7(2)
    Drupal7(1)
  • 原文地址:https://www.cnblogs.com/092e/p/14916837.html
Copyright © 2011-2022 走看看