找回密码
 注册
搜索
查看: 889|回复: 1

[讨论] MTK内存问题和输入法问题

[复制链接]
发表于 2007-12-26 12:44:59 | 显示全部楼层 |阅读模式
请教两个问题:

1、开发过程中会用到MTK的输入框。
    如果调用MTK的自带的输入框,如ShowCategory5Screen吧,就需要对历史屏进行管理。但是我的应用只是
一开始的时候用了一个 EntryNewScreen(SCR_MYAP_MENU, NULL, mmi_myapp_entry_welcome_screen, NULL);
       if( !MTK_MY_App_Init() )
       return;
             。。。。。//省略
      后面的画图,逻辑等全部是在调用
void func()
{
gui_lock_double_buffer();
//我们的屏幕更新,逻辑等。
    gui_unlock_double_buffer();
gui_BLT_double_buffer(0, 0, UI_device_width - 1, UI_device_height - 1);
}
这时候如果调用ShowCategory5Screen来使用输入框,就会破坏了原来的结构。
有没有办法可以不调用ShowCategory5Screen,而是其它方法来使用输入框?
2、用applib_mem_screen_alloc作了试验。最多也只可分配 450K左右的内存。
for(counter = 0;counter<5000;counter++)
{
  psTest = (PSTRING)applib_mem_screen_alloc(1024);
  if(psTest)
   MYapp_AddDebugLog(-1, "%d *1024 bytes allocated!", counter);
  else
   MyApp_AddDebugLog(-1, "Malloc Failed!");
}
  如果确实需要更大的内存,可以修改底层来令applib_mem_screen_get_total_left_size()的Size达到1-2M吗?
多谢!
发表于 2007-12-27 19:52:53 | 显示全部楼层
第一个问题是否可以这样解决?
用两个Screen,第一个是你的应用程序,第二个调用输入法。MTK的Screen之间的历史信息是由原来的机制实现的。

第二个问题,内存应该是有预留的,预留多少就是多少,应该是不能随便改这个没意义的数字,,除非你预留更大的一块内存用作动态分配。一般预留更大的内存用作动态分配就意味要减少其他应用的内存的占用。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-26 00:02 , Processed in 0.044156 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表