斯凯MTK ”扩展内存技术”开发概要
时间:2010-12-19 11:23来源:斯凯下载网 作者:凌云神风 点击:
次
扩展内存使用说明 ----------------- 更新日志: 2010.07.08 添加了 mrc_exRamNeedDetect()的说明 2010.02.22 修改了原来有bug的接口。 概述 当手机运行斯凯平台时, 内存里还存在一些区域处于闲置的区
扩展内存使用说明
-----------------
更新日志:
2010.07.08 添加了 mrc_exRamNeedDetect()的说明
2010.02.22 修改了原来有bug的接口。
概述
当手机运行斯凯平台时, 内存里还存在一些区域处于闲置的区域,这些内存可以利用起来增强游戏的品质, 称为扩展内存。
当前研发状态:
MTK机型上85%以上的机型可以申请到150K以上的扩展内存,随着继续的采样和研究可以进一步提升支持率。
SPR平台还没有开始分析。
1. 内存检测
在启用扩展内存前, 需要对内存进行一次检测。
#include "mrc_base.h"
extern int mrc_exRamDetected(void);
这个接口用来判断本手机是否已经做过内存检测。返回 MR_SUCCESS 表示已经检测过, 否则没有。
内存检测会持续一定的时间(一般来说5s-10s), 所以需要做一个简单的UI来提示用户。
extern int32 mrc_exRamNeedDetect(int32 numBytes);
这个接口用来判断获取numBytes的扩展内存是否需要内存检测。因为某些情况下直接通过底层的接口可以申请到。
也就是说只有在 mrc_exRamDetected() 返回 FAILED 并且 mrc_exRamNeedDetect() 返回TRUE时才需要经过检测内存的步骤。代码逻辑如下:
if ( mrc_exRamDetected() != MR_SUCCESS && mrc_exRamNeedDetect() ) {
提示玩家进行内存检测.
}
typedef void (*mrc_exRamDetect_progress_cb_t)(int ratio); // ratio的取值范围是 0-100
void mrc_exRamDetect(mrc_exRamDetect_progress_cb_t cb);
(责任编辑:凌云神风) |
------分隔线----------------------------