如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
MTK内存不足解决办法Moco备注下面提供了一些解决内存不足的一些方法:方法一:减小电话本的数量。现在手机可以支持的电话本数量很大,最多都有750条,如果减到500条或者250条,可以节省一些空间,具体减小的多少根据当前MTK方案来定。方法二:减少短信条数。现在普遍的方案都是支持200条短信,如果把短信数量减少到100条,可以节省18K左右的RAM空间。具体修改方法如下:打开nvram_common_def.h文件,搜索以下代码,修改红色标记部分/***SMSALshortmessages*/#defineNVRAM_EF_SMSAL_SMS_SIZE184#ifdefined(LOW_COST_SUPPORT)#defineNVRAM_EF_SMSAL_SMS_TOTAL(10*NVRAM_DUAL_RECORD)#else#defineNVRAM_EF_SMSAL_SMS_TOTAL(200*NVRAM_DUAL_RECORD)#endif/*LOW_COST_SUPPORT*/方法三:减小debug时所占用的空间,需要修改custom_config.c文件中的两个参数:global_MEM_SIZE290改为270global_MEM_SIZE100改为80这个方法可以节省40K的RAM空间具体修改方法如下:搜索以下代码,修改红色标记部分:/*SysGenTemplateType:GPRSGeneric*/#if(defined(__WIFI_SUPPORT__)||defined(__VOIP__))&&defined(OBIGO_Q05A)#defineGLOBAL_MEM_SIZE(370*1024)#defineGLOBAL_DEBUG_MEM_SIZE(110*1024)#elifdefined(__WIFI_SUPPORT__)||defined(__VOIP__)#defineGLOBAL_MEM_SIZE(340*1024)#defineGLOBAL_DEBUG_MEM_SIZE(110*1024)#elifdefined(OBIGO_Q05A)#defineGLOBAL_MEM_SIZE(320*1024)#defineGLOBAL_DEBUG_MEM_SIZE(100*1024)#else/*(__WIFI_SUPPORT__||__VOIP__)&&OBIGO_Q05A*/#defineGLOBAL_MEM_SIZE(290*1024)#defineGLOBAL_DEBUG_MEM_SIZE(100*1024)#endif/*(__WIFI_SUPPORT__||__VOIP__)&&OBIGO_Q05A*/方法一和方法二需要重新NEW一遍,方法三只需要REMAKE一下。4.#ifdef__SF_MP4_SUPPORT__kal_uint8MED_SF_MP4_BUF[864*1024];#endif1oslmalloc用于controlbuffer申请,size有限制,一般使用于较小buffer(通常0-2k)的申请。2app_mallocASM机制。用于应用共享内存的申请,需要注册ID,如有内存冲突,系统会提示停掉正在使用的APP,供用户选择停止。3scr_malloc用于屏幕buffer申请,模板内部使用。4med_ext_malloc用于申请较大块内存(2k-?),从MEDpool中。申请释放都比较简单,不用注册ID,但是注意free函数参数,需要对应2级指针。med_free_ext_mem((void**)&tempBuf);系统也提供了内存泄露的监控机制,打开宏DEBUG_KAL,DEBUG_BUFandDEBUG_BUF2,系统默认关闭。在拨号盘下输入相应的命令即可,格式为*035670766*001*XX#,如监控8and128Bytescontrolbuffer,XX=1+16=17#defineMEM_CTRL_BUF_DBG"*035670766*001*"#defineMEM_CTRL_BUF_QRY"*#035670766*001#"#defineTASK_CTRL_BUF_DBG"*035670766*002*"#defineTASK_CTRL_BUF_QRY"*#035670766*002#"MTK上内存分配的函数颇多,如Oslmalloc,med_alloc_ext_mem,mmi_frm_scrmem_alloc,其实质是使用1kal_adm_create创建内存池;2kal_adm_alloc分配内存;