Memory Blackberry-要在UI堆栈中推送的最大屏幕数

Memory Blackberry-要在UI堆栈中推送的最大屏幕数,memory,user-interface,blackberry,screen,Memory,User Interface,Blackberry,Screen,有人知道在不调用popscreen()的情况下,我们可以在UiApplication中推送多少屏幕吗?每个屏幕类的最大文件大小是多少 谢谢你 根据Marc评论,Mintu更新 BB文件 引自: 在用户界面(UI)堆栈上管理应用程序屏幕时,不要使pushScreen()和popScreen()不匹配。当黑莓智能手机用户完成与屏幕的交互时,弹出界面堆栈中的屏幕;否则,显示堆栈将继续增长,直到黑莓智能手机内存耗尽。您不应该一次使用多个模式屏幕,因为每个屏幕使用一个线程,并且您不应该只弹出一次屏幕。如果

有人知道在不调用popscreen()的情况下,我们可以在UiApplication中推送多少屏幕吗?每个屏幕类的最大文件大小是多少

谢谢你
根据Marc评论,Mintu更新

BB文件 引自:

在用户界面(UI)堆栈上管理应用程序屏幕时,不要使pushScreen()和popScreen()不匹配。当黑莓智能手机用户完成与屏幕的交互时,弹出界面堆栈中的屏幕;否则,显示堆栈将继续增长,直到黑莓智能手机内存耗尽。您不应该一次使用多个模式屏幕,因为每个屏幕使用一个线程,并且您不应该只弹出一次屏幕。如果你弹出屏幕太多次,黑莓智能手机的轨迹盘/轨迹球和键盘可能会失去响应

引自:

单个应用程序最多可以创建16个线程。BlackBerry设备上所有应用程序中可存在的线程总数为128。因此,如果应用程序已经创建了16个线程,则第17次尝试将失败,并引发ToomAnythReaderError异常。类似地,如果BlackBerry设备上已经创建了128个线程,并且应用程序尝试创建另一个线程,则会引发TooManyThreadsError异常

测试应用

结论 因此,在模式屏幕的情况下,最大计数为16,公共大小受设备jvm内存限制。

否则就是这样。

我不认为常规的pushScreen()在每个屏幕上都使用线程-可能KB文章指的是使用pushModalScreen()方法推送的屏幕?Marc,你是对的,只有模式屏幕对每个屏幕使用单独的线程。
class PushScr extends MainScreen {
    static int mScrCount = 0;
    Screen mContext = this;    
    public PushScr() {
        mScrCount++;
        add(new LabelField("screen count: " + mScrCount));
        add(new LabelField("threads count: " + Thread.activeCount()));
        add(new LabelField("memory used: "
                + Memory.getRAMStats().getAllocated()));
    }    
    protected void makeMenu(Menu menu, int instance) {
        super.makeMenu(menu, instance);
        menu.add(new MenuItem("push screen", 0, 0) {
            public void run() {
                Ui.getUiEngine().pushScreen(new PushScr());
            }
        });    
        menu.add(new MenuItem("push modal screen", 0, 0) {
            public void run() {
                Ui.getUiEngine().pushModalScreen(new PushScr());
            }
        });
        if (mScrCount > 1) {
            menu.add(new MenuItem("pop screen", 0, 0) {
                public void run() {
                    Ui.getUiEngine().popScreen(mContext);
                }
            });
        }
    }
}