从 Appcelerator Alloy 应用获取内存泄漏
Getting memory leaks from Appcelerator Alloy app
我有一个 Alloy 应用程序。它有 7 windows 并且同时打开。当用户关闭打开的 window $.removeListener(); $.destroy();
代码时,代码会在 window 关闭事件处运行。但是我在 Android 设备上遇到内存泄漏。 %90 windows 已获得 ListView,每个 window 已获得最多 2 个 ListView。多个 windows 的正确方法是什么?
首先,当用户一次只能看到最多 1 个 window 时,为什么要同时打开 7 个 windows。
非常简单,只打开用户应该首先看到的 window,并在之前的 window 中创建一个指向其他 window 的 link 流。
您能想到 Play 商店中有任何应用程序这样做吗,如果有,请将其发送给我 link,我真的很想评论一下?
但是如果你的意思是说用户将在滚动行为或类似分页中同时看到所有 windows,那么转到 Ti.UI.TabGroup
您是否 100% 确定您的事件侦听器已被删除?
我不知道函数$.removeListener();
这是自定义函数吗?
作为一般规则,我尝试将尽可能多的事件侦听器放入 xml,因为它们会自动删除,并且有一个自定义函数 destroyMe()
运行 onClose 删除任何其他我可能使用过的听众和 $.destroy()
Ti.App.addEventListener 也是一个杀手,如果你使用它们,请确保将它们删除!
ps:我完全理解第 7 windows 位 :-)
我有一个 Alloy 应用程序。它有 7 windows 并且同时打开。当用户关闭打开的 window $.removeListener(); $.destroy();
代码时,代码会在 window 关闭事件处运行。但是我在 Android 设备上遇到内存泄漏。 %90 windows 已获得 ListView,每个 window 已获得最多 2 个 ListView。多个 windows 的正确方法是什么?
首先,当用户一次只能看到最多 1 个 window 时,为什么要同时打开 7 个 windows。
非常简单,只打开用户应该首先看到的 window,并在之前的 window 中创建一个指向其他 window 的 link 流。
您能想到 Play 商店中有任何应用程序这样做吗,如果有,请将其发送给我 link,我真的很想评论一下?
但是如果你的意思是说用户将在滚动行为或类似分页中同时看到所有 windows,那么转到 Ti.UI.TabGroup
您是否 100% 确定您的事件侦听器已被删除?
我不知道函数$.removeListener();
这是自定义函数吗?
作为一般规则,我尝试将尽可能多的事件侦听器放入 xml,因为它们会自动删除,并且有一个自定义函数 destroyMe()
运行 onClose 删除任何其他我可能使用过的听众和 $.destroy()
Ti.App.addEventListener 也是一个杀手,如果你使用它们,请确保将它们删除!
ps:我完全理解第 7 windows 位 :-)