2017-06-03 16 views
0

我有一个Alloy应用程序。它有7个窗口,并同时打开。当用户关闭打开的窗口$.removeListener(); $.destroy();代码在窗口关闭事件中运行。但我在Android设备上发生内存泄漏。 %90个窗口获得ListView,每个窗口获得最多2个Listview。多窗口的正确方法是什么?从Appcelertor Alloy应用程序获取内存泄漏

回答

0

首先,为什么你想在同一时间打开7个窗口,用户一次只能看到最多1个窗口。

它很简单,只打开那个用户应该先看到的那个窗口,&在以前的窗口中创建一个到其他窗口的链接流。

你能想到Play商店中的任何应用程序,如果有的话,请给我它的链接,我真的很喜欢它的评论吗?

但如果你的意思是说,用户将看到在同一时间所有窗口的滚动行为或类似分页,然后去Ti.UI.TabGroup

+0

想想AJAX浏览器导航。我怎么能与加赛者做到这一点。 – Kerberos

+0

我有一个窗口的物理文件。当用户传递参数到该窗口的内容正在改变。除此文件外,我还有4个物理文件。 – Kerberos

+0

这是一种您可以使用的风格,正如@Prashant Saini在上面的另一个评论中提到的。每个合金控制器可以使用作为其基础,而不是,然后您添加和删除基本视图,如你所见。 –

0

你百分之百确定你的事件监听器正在被删除?

我不知道功能$.removeListener();这是一个自定义函数吗?

作为一般规则我尝试把尽可能多的我的事件侦听器到XML,因为这些被自动删除,并且有一个自定义功能destroyMe()运行的OnClose其删除,我可能已经使用和$.destroy()

任何其他听众

Ti.App.addEventListener也是一个杀手,请确保它们在您使用它们时被删除!

ps:我完全理解了7位窗口:-)

+0

你能告诉我为什么他需要同时打开7个窗口吗? –

+0

例如在iOS中使用7个窗口的NavigationWindow。 Android没有这个组件,所以另一种方法是为每一步打开新窗口并将它们打开。我可能完全错误理解应用程序,虽然:-) –

+0

但是,为什么你需要让它们在后面打开?为了什么? NavigationWindow只是一个组织你的窗口的框,但它仍然一次显示单个窗口。正如这个问题的用户所说,它同时打开了7个窗口,这正是我想了解的。 :D –