优化 Titanium 应用程序的最佳方法有哪些?

2023-12-07

我有一个基于钛的 iOS 应用程序,它基本上遵循我自己的 MVC 结构。它有大约 30 个视图和大量网络连接来进行 API 调用。因此,该应用程序在除 iPhone4S 之外的实际设备上似乎表现缓慢。具体来说,从多任务菜单重新启动应用程序后,该应用程序将挂起大约 10 秒。有小费吗?


您主要需要关心内存泄漏。你有一个非常重要的webcast就此主题而言。 简而言之;要非常小心:

  • 避免大型全局对象:它们具有对世界的引用,因此这些引用不会被清除
  • 消除任何循环依赖:垃圾收集器不是垃圾收集器!它只是计算引用数并在引用数为 0 时杀死对象。对于圆形物体,始终有 1 个参考。
  • Avoid events在 Ti.App 上:哎哟,太糟糕了!但请求 addEventListener 的对象永远位于 Ti.App 监听器总线中。总线保留一个引用来将事件发送到该对象,因此它将永远存在,它的引用也将永远存在。
  • 小心其他事件。
  • 还要小心动画:它们具有引用应用程序的回调。这些回调是可能保留在内存中的函数(即变量),其引用也是如此。

简而言之,您的应用程序必须尽可能接近没有向后引用的简单树。当你在树中向上时写 myDownObject=null 。 大量使用仪器在您的 Mac 上,使用“代理”过滤器。所有钛对象都是 UIProxy。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

优化 Titanium 应用程序的最佳方法有哪些? 的相关文章

  • 以编程方式获取 Storyboard ID?

    尝试查看 UIViewController 或 UIView 是否可以识别其 Storyboard ID 所以希望 UIViewController aViewController NSString storyboardID aViewCo
  • Xcode:libpods.a 为红色

    有人知道为什么吗 我正在使用 SWRevealViewController 到目前为止它一直在工作 我正在使用工作区 并且我已经研究过其他文章 但到目前为止没有任何效果 它不会引发错误 但是当我运行程序时 它不会加载任何内容 因为 SWRe
  • 是否可以在不使用 LibGDX 的情况下从 RoboVM 访问 OpenGL ES?

    是否可以从 RoboVM 访问 iOS 上的 OpenGL ES不使用 LibGDX 如果是的话 有什么有用的参考吗 我唯一能找到的是两年多前的这个超级简单的演示 http robovm com ios opengles in java o
  • UISearchBar 与 UISearchDisplayController 在屏幕外动画

    我有标准的 iPad 视图控制器 其顶部有一个自定义导航栏 在 xib 文件中 我添加了一个与视图右边缘对齐的 UISearchBar 搜索栏的宽度为 320 像素 我像这样初始化一个搜索显示控制器 Search display contr
  • iOS 中tableview 的动态搜索

    I ve a tableview和我实现搜索方法的文本字段 现在 当我在其中写入一些值时textfield然后点击搜索按钮 然后在tableview 但是 我希望它是动态的 意味着我开始输入的那一刻textfield它应该开始搜索而不点击任
  • 如何在 iPhone 应用程序中运行进程而不阻塞用户界面

    我正在 iPhone 上访问照片库 需要很长时间才能导入我在应用程序中选择的图片 如何在辅助线程上运行该进程 或者我应该使用什么解决方案来不阻塞用户界面 我在这里使用 PerformSelectOnBackground 或 GCD 对示例代
  • 如何禁用 iOS 8 表情符号键盘?

    iOS 8 中是否有任何选项可以停止显示表情符号键盘 它在数字键盘和安全文本中不可用 但对于电子邮件来说它是存在的 如果无法禁用它如何从表情符号中获取字符串值 尝试这个 BOOL textField UITextField textFiel
  • 错误:CUICatalog:提供的资源名称无效:(空),或无效的比例因子:2.000000

    TableViewApplication 1458 70b CUICatalog Invalid asset name supplied null or invalid scale factor 2 000000 使用 TableViewC
  • 核心数据推导表达式关键路径使用运算符作为中间组件

    我正在尝试编写一对多关系属性之和的派生表达式 我有一个商品和一个组 该商品有价格和总价 金额 价格 我想编写一个表达式 将该组的总价格作为其组成部分的总和 当我构建时出现错误 错误 属性配置错误 LAEItemGroup totalPric
  • IO 和 Android 之间发送数据? (字节数组)

    我正在 Android 中开发一个网络应用程序 它应该能够与 IO 应用程序进行通信 我正在使用 Appwarps 多人游戏后端 并且有一个发送和接收数据的功能 该函数接受一个字节数组 所以最初我认为我可以将一个 消息 对象序列化为一个字节
  • Xamarin 表单:jamesmontemagno/MediaPlugin:添加到 IOS 应用程序中的 UI 时,所选图片会旋转

    我跟着this https github com jamesmontemagno MediaPlugin用于从画廊和相机拍摄照片的博客 但在 IOS 的 UI 中 所选图片以右旋转形式显示 仅在使用相机时才会出现问题 而我对图库没有任何问题
  • 在采取行动之前如何知道几个块是否已经执行完毕?

    我在用着animateWithDuration animations completion 之前移动用户界面的几个元素 大约 4 个元素 removeFromSuperview 叫做 我的问题是 我怎么知道在调用之前所有这些动画都已完成re
  • 显示键盘时 Admob 广告不会出现在 UITableView 页脚中

    我用它在 UITableView 的页脚上显示 Admob 广告 UIView tableView UITableView tableView viewForFooterInSection NSInteger section GADBann
  • UITableView - 节标题。如何更改文字?

    我有一个使用故事板的项目 我有一个带有静态单元格和组样式的 UITableView 我需要根据分段控件 在另一部分中 中所做的选择来更改一个部分中的部分文本 我找到了一些解决方案 表明您应该使用覆盖此方法 NSString tableVie
  • 为什么 UIAElement 的孩子不等于他们自己?

    我注意到我不久前编写的 UIAutomation 脚本中有一些奇怪的行为 但我已经有一段时间没有运行了 我的主张失败了 经过一些挖掘后 我发现在迭代 UIAElement 时 elements 子元素似乎不等于它们自己 这在过去对我来说如预
  • 将自动布局约束应用于多个对象

    我正在 iOS 中使用 autoLayout 约束 我的用例是这样的 我会用图片更好地解释 我正在为 UITableViewCell 使用自定义单元格 通过自动布局 我为下面的文本和分隔线设置了约束 并且它们遵守自动布局约束 现在您可以看到
  • 如何在 OauthSwift 库中设置回调 URL

    我正在开发一个项目 其中我正在实现 OAuthSwift 库以连接到同时使用 OAuth1 和 OAuth2 的多个不同社交网站 我已将应用程序设置为加载 Web 视图 将我带到我的社交网站 但我无法让应用程序重定向回来 一旦我加载我的凭据
  • 如何制作抗崩溃的ios应用程序

    我现在正在编写 ios 应用程序一段时间 但我的应用程序仍然经常崩溃 并且需要时间才能使它们变得非常稳定 我觉得这很烦人 那么 有没有关于防崩溃编程ios应用程序的编程模式呢 打开编译器警告 删除所有警告 运行静态分析器 删除所有警告 使用
  • 在 iPhone 中创建类似 facebook 菜单导航的视图 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要在我的 iPhone 应用程序中创建如下所示的视图 我不知道该怎么做 视图描述 如果我按下视图中箭头指示的按钮图标 则会出现一个新视
  • 按字符串删除所有重音符号

    surnameField text Fal l opo remove space and apostrophe NSString surnarmeInput surnameField text stringByReplacingOccurr

随机推荐