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

  • 相关阅读:
    WCF开发笔记 高版本.Net的坑
    Net Start可以加载驱动
    解决:Windows 2008远程黑屏问题
    Visual Studio 解决方案版本从v12-->v14
    Visual Studio 使用之禁用/启用模板警告
    Windows 10 常用的快捷键及常用指令
    git
    Socket通信原理 很好
    java集合
    JavaEE简介
  • 原文地址:https://www.cnblogs.com/092e/p/14916837.html
Copyright © 2011-2022 走看看