Appcelerator.Обработка использования памяти.Лучшая практика - PullRequest
3 голосов
/ 28 июня 2011

Titanium SDK версия: 1.7.0 Версия iPhone SDK: 4.2

Я занимаюсь разработкой приложения для iOS и отслеживаю использование памяти для каждого окна, и оно продолжает уменьшаться для каждого экрана.

  1. Что потребляет память в целом? Я использую представления, таблицы и данные XHR.

  2. Как освободить память / уменьшить использование в каждом окне?

Благодарен за все комментарии!

Ответы [ 2 ]

0 голосов
/ 30 сентября 2011

Убедитесь, что вы закрыли неиспользуемые окна и удалили все ссылки на нативные объекты, которые вам больше не нужны в приложении.

// create a window object
var aWindow = Ti.UI.createWindow();
var aLabel = Ti.UI.createLabel({ text : "Hey" });
aWindow.add(aLabel);
aWindow.open();

// done with window
aWindow.close();
aWindow = null;
aLabel.null;

Проверьте эту презентацию на конференции Appcelerator Codestrong длябольше деталей.

0 голосов
/ 28 сентября 2011

Учитывая, что вы имеете дело с переводом JavaScript в Objective-C и не можете написать собственное решение без использования модулей, вы можете начать с установки переменных окна в null (myJsWindowVar = null;) , или удалите эти переменные, используя delete (delete myJsWindowVar;) . Лично я думаю, что установка переменных на null будет лучше переводиться к рекомендуемой наилучшей практике Objective-C, которая заключается в установке ссылки на указатель на null и предотвращении зависания осиротевших объектов.

...