【问题标题】:Appcelerator. Handle memory usage. Best practice加速器。处理内存使用情况。最佳实践
【发布时间】:2011-06-28 10:42:03
【问题描述】:

钛 SDK 版本:1.7.0 iPhone SDK 版本:4.2

我正在开发一个 iOS 应用程序,我监控每个窗口的内存使用情况,并且每个屏幕的内存使用情况都在不断减少。

  1. 一般来说什么是内存消耗?我使用视图、表格和 XHR 数据。

  2. 如何释放内存/减少每个窗口的使用量?

感谢所有输入!

【问题讨论】:

  • 我希望我能给你一个答案。在使用少量图像的应用程序中苦苦挣扎。非常想知道其他开发人员正在做什么来避免他们的应用程序启动和退出。我厌倦了看到:“OutOfMemory,VM 在 字节分配上失败。”

标签: memory-leaks appcelerator-mobile


【解决方案1】:

考虑到您正在处理将 JavaScript 转换为 Objective-C 并且在不使用模块的情况下不一定可以编写本机解决方案,您可以首先将窗口变量设置为 null(myJsWindowVar = null;) ,或使用delete (delete myJsWindowVar;) 删除这些变量。就我个人而言,我认为将变量设置为 null 会更好地转化为建议的 Objective-C 最佳实践,即设置指向 null 的指针引用并防止孤立对象闲置。

【讨论】:

    【解决方案2】:

    确保关闭未使用的窗口并清除我们对应用中不再需要的本机对象的任何引用。

    // 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 会议的this presentation 了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多