凯幽MRP-刷钻/免费/破解/软件/游戏!

凯幽MRP开发网_www.mrpyy.cn_刷钻软件

当前位置: 主页 > MRP开发 > 修改教程 >

斯凯MTK ”扩展内存技术”开发概要(2)

时间:2010-12-19 11:23来源:斯凯下载网 作者:凌云神风 点击:
mrc_exRamDetect是一个同步函数, 当这个函数返回时,说明内存检测已经完成。 在检测过程中会调用 应用提供的cb来提供进度。 有时候ratio到了100后会重新开

    
        mrc_exRamDetect是一个同步函数, 当这个函数返回时,说明内存检测已经完成。 在检测过程中会调用
        应用提供的cb来提供进度。  有时候ratio到了100后会重新开始检测, 导致ratio会变小。
        
        内存检测可能会导致死机, 但是再次进入时 mrc_exRamDetected() 肯定会返回 MR_SUCCESS。
        这些信息需要在UI上提示用户。
    
2. enable/disable扩展内存:
 在默认的情况下, 扩展内存是不被使用的。
 
    #include "mrc_base.h"
    extern int32 mrc_exRamInitEx(int nBytes);
  
        调用这个接口, SDK将尽量的准备好 >= nBytes的扩展内存。 
      参数:
          nBytes -- 需要的扩展内存的大小。 单位为Byte。
         返回值:
             可以不理会这个返回值。 用 mrc_getMemStatus接口来判断内存是否足够。
         
     extern int32 mrc_exRamRelease(void);
         在mrc_exitApp()里必须调用这个接口将扩展内存释放给系统。

3. malloc和free扩展内存:
 不管扩展内存是否被启用, malloc都*不*会在扩展内存分配内存
 
 #include "mrc_base.h"
 
 extern void* mrc_exRamMalloc(int size);
 
  这个函数分配内存的规则是:
  如果扩展内存enabled, 那么先从扩展内存中分配, 如果分配失败,再从主内存里分配。
   
     如果扩展内存没有被enabled, 或者调用 mrc_exRamInitEx()但是没有找到合适的区域, 
     那么这个函数的作用和malloc完全一致。所以这个函数是兼容malloc的。
   
 extern void mrc_exRamFree(void *address);
  这个函数会根据所释放的地址所属的内存块进行释放。 兼容free。
 extern void* mrc_exRamMallocOnly(int size); (责任编辑:凌云神风)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容