之前遇到这样的问题,只需要加大总的ASM memory就可以了,即加大宏APPLIB_MEM_AP_POOL_SIZE的大小;
但是在11AW11.12版本,imageviewer通过以下代码来申请memory,
 
从以上代码可以看出,无论imageviewer当前注册的memory多大,都会去申请app mem的最大值,这样就导致即使去加大ASM memory,imageviewer也会全部使用掉;
原因是Imageviewer的APP memory主要用于cache,注册的只是运行时必须保证的,如果此时系统有多余的,当然是多多益善了;
修改方法是把

g_imgview_context.memory_info.app_mem_buf_size = applib_mem_ap_get_max_alloc_size() 

- MMI_IVEX_APP_BASED_FRAMEBUF_OVERHEAD;

改为

g_imgview_context.memory_info.app_mem_buf_size = MMI_IVEX_TOTAL_APP_BASED_MEM_POOL_SIZE