如何减少典型 iPhone 应用程序的启动时间?

2024-05-19

需要明确的是,这是一个普通的 iPhone 应用程序,而不是游戏。

我在网上读过几次,一些开发人员提到他们正在努力改进/减少应用程序的启动时间,但从来没有提供任何关于如何做到这一点的良好背景信息。

那么问题很简单:如何减少 iPhone 应用程序的启动?


与任何其他性能问题相同:使用 Shark 和/或 Instruments 来识别代码中的瓶颈,然后专注于如何加快速度。每个工具都会让您了解代码的哪些部分花费了多少时间,因此一般方案是在启动应用程序时运行该工具,然后仔细研究数据以查看性能受到影响的位置。

在应用程序启动时,最有可能进行改进的候选者是将数据加载推迟到稍后实际需要时,这被称为“按需”或“延迟”加载。本质上,除非确实需要,否则不要在应用程序启动时加载任何数据当应用程序加载时立即。在实践中,可能需要很多东西在某一点不必在应用程序启动时立即可用。例如,如果您有一个包含 N 条记录的数据库,但一次只有一条可见,则不要在应用程序启动时将所有 N 条记录加载到内存中。加载当前记录是什么,然后在实际需要时加载其他记录。

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

如何减少典型 iPhone 应用程序的启动时间? 的相关文章

  • 从现在起测量时间间隔

    任何人都知道或可以提供一些与 timeIntervalSinceNow 方法相关的示例代码 我需要类似的东西 time2 当应用程序进入前台时 time1 当应用程序进入后台时 time3 时间差 这样我就可以使用这个数字 以秒为单位的首选
  • 如何使用 xcode 3.1.3 处理 iAd

    目前我正在集成 iAds 并制作该应用程序的精简版 我的问题是以前我使用的 iAds 是 xcode 4 1 3 但目前我使用的是 xcode 3 1 3 iAds 不支持我们所做的 请帮助我 NSString contentSize UI
  • Swift 中 UIViewController 子类成员的双重初始化

    我想制作一个自定义容器视图控制器并向其子类添加一些成员UIViewController 当我尝试使用以下代码从应用程序委托初始化它时 self window UIWindow frame UIScreen mainScreen bounds
  • iOS:保持应用程序在后台运行

    如何让我的应用程序在后台运行 我需要越狱我的 iPhone 才能执行此操作吗 我只需要这个应用程序每隔设定的时间间隔从互联网上检查一些内容 并在需要时发出通知 以供我自己使用 是的 不需要越狱 查看本文档的 实现长时间运行的后台任务 部分A
  • iPhone Core Graphics 子视图的粗虚线

    我有一个UIView在其中我通过覆盖使用 Core Graphics 画了一条线drawRect 该视图还包含一个子视图 该子视图也绘制一条线 然而 虽然两个视图都使用几乎相同的代码 至少出于测试目的 但在它们上绘制的线看起来并不相同 正如
  • 声音在模拟器中工作,而不是在真实 iPhone 中工作

    有几短音效播放的样本在模拟器中很好 但在真正的 iPhone 中根本不行3GS 以下是 Apple SysSound 示例中的代码 CFBundleRef mb CFBundleGetMainBundle CFURLRef soundFil
  • iphone:通过代码获取目标设置中的用户定义变量?

    我的项目有多个目标 每个目标都有自己的目标Class用于设置内容的文件 我想存储它Class目标设置中的名称 Info plist或目标的建筑物设置 这样我就可以根据此设置定义每个目标中需要使用哪个类 根据这个问题 https stacko
  • Facebook oauth/access_token 丢失

    不知道我是否错过了什么 但就这样 我正在尝试为我的应用程序获取 access token 以便它可以在 facebook 上查找某些公共群组的事件 而无需用户登录 我试图从中获取 access token 这将返回一个字符串 access
  • 使用 Objective-C 在 iPhone 应用程序中显示或隐藏 UIButton

    我在用UITextView编辑文本 我想用两个UIButtons编辑并保存 最初我想显示编辑UIButton 当用户单击编辑时我想显示保存UIButton 当内容成功保存后 我不想再显示保存按钮 我是一名 C 编码员 在 C 中我曾经这样做
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • 更改 UITextField 辅助功能描述

    有没有办法将 UITextField 的辅助功能标签设置为 文本字段 之外的其他内容 因此 我不想将其称为 文本字段 而是将其命名为 代码验证字段 我的建议是不要试图在内置语音输出上智取系统 对于盲人用户来说 文本字段正在编辑 相当于 该项
  • 如何添加授权以从新钥匙串对应用程序进行代码签名,而无需任何人工交互

    我正在尝试使用特定证书自动化构建 iPhone 应用程序的过程 因此 想象一下 如果不同的用户将他们的证书上传到系统中 并且可以立即用于代码签名 我想在没有任何交互的情况下做到这一点 我也不想用不同的用户证书弄乱系统或登录钥匙串 为此我有
  • 维护 UISegmentedControl 中的选择

    我可以保持 UISegmentViewControl 段的选定状态吗 即 即使用户选择了另一个段 也可以保持一个段显示为选中状态 我似乎在任何地方都找不到任何可以做到这一点的东西 这是不可能开箱即用的 看如何才能选择 UISegmented
  • 蓝牙 4.0 与较旧的蓝牙

    我正在尝试使用蓝牙 4 0 模块实现一个应用程序 我想知道将此应用程序与包含简单蓝牙 2 1 EDR 模块的 Iphone 3GS 一起使用是否能让我利用 4 0 模块中的低功耗 谢谢您的回答 蓝牙 4 0 是标准 其中包括经典蓝牙基本速率
  • 在两个数字之间设置 UILabel 文本动画?

    我是 iPhone 和 Mac 编程新手 之前为 Windows 开发过 我有一个问题 我如何制作动画text的财产UILabel两个数字之间 例如从5 to 80以 Ease Out 风格 是否可以与CoreAnimation 我已经在谷
  • iPhone:在命令行 (Mac OS X) 中压缩 .app 文件会删除 CodeSigning

    我正在尝试使用 TeamCity 对我的 iPhone 应用程序进行简单的构建自动化 但遇到了这个棘手的问题 当我从构建文件夹中手动拾取并安装 app 文件时 效果很好 与 iTunes 顺利同步 我可以在手机上看到该应用程序 但是 当我尝
  • 以编程方式更改 UISlider 的范围

    如何以编程方式设置 UISlider 的最小最大范围 例如 虚拟代码 UISlider slider UISlider alloc init slider min 3 slider max 3 EDIT 所以我有以下内容 sl minimu
  • 无法使用 NSDateFormatter 解析日期

    我正在获取 RSS 其中我收到以下日期戳 2010 05 10T06 11 14 000Z 现在我正在使用 NSDateFormatter 来解析这个日期时间戳 parseFormatter setDateFormat yyyy MM dT
  • 如何检测iPhone是否有视网膜显示屏?

    如何检测 iPhone 是否配备视网膜显示屏 有靠谱的办法吗 要么是纯 PHP 要么最好是 Zend Framework 方式来执行此操作 我通过这个弄清楚了 var retina window devicePixelRatio gt 1
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove

随机推荐

  • 有没有办法伪造同步 XHR 请求?

    我正在使用 Emscripten 系统将一堆 C 代码移植到 Javascript C 代码有很多调用fopen这是一个同步 IO 调用 在 Emscripten 中 我们使用对本地资源的 XHR 请求来模拟这一点however 在 Fir
  • 尝试使用 Firebug 查找 JavaScript 文件中的函数

    我试图找到这个函数调用 myFooBar 该函数在某些 HTML 中内联引用 但页面加载了大量 JavaScript 并且在每个文件中搜索该函数需要相当多的工作 如何使用 Firebug 找到此函数所在的 JavaScript 文件 打开脚
  • 为什么 Array.prototype.filter() 在 Magnolia JavaScript 模型中抛出错误?

    我正在尝试过滤 FreeMarker 列表Magnolia JavaScript 模型 https documentation magnolia cms com display DOCS61 How to work with JavaScr
  • Android Studio:无法启动守护进程

    当我尝试在 Android Studio 中导入 gradle 项目时 遇到以下错误 Unable to start the daemon process This problem might be caused by incorrect
  • 如何用正则表达式替换多个匹配/组?

    通常我们会编写以下内容来替换一场比赛 namesRegex re compile r is life re I replaced namesRegex sub r butter There is no life in the void pr
  • 将预编译的车把模板与 Marionette 结合使用

    我正在使用带有 requirejs 的 Marionette 并且我还想使用预编译的车把模板 这是如何运作的 这是我当前的设置 需要 main js requirejs config baseUrl paths text vendor ja
  • 使用 Python 绘制 USGS 水文数据甘特图?

    我编译了一个数据帧 其中包含几个不同流计的 USGS 流数据 现在我想创建一个类似的甘特图this https stackoverflow com questions 31820578 how to plot stacked event d
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 更改 Matplotlib 投影轴的背景颜色

    我正在尝试使用 Cartopy 创建一个图形 该图形需要在未投影的轴上绘制投影轴 这是一个尽可能简单的代码版本 它将轴上的内容替换为背景颜色 import matplotlib pyplot as plt import cartopy cr
  • 如何让 vsCode 了解自动补全的深度依赖导入?

    我创建了多个角度库 让我可以使用一堆组件更快地创建网站 例如 sidenav 卡片 我创建了一个 超级库 来导入所有这些库 这样我就可以使用npm i myWebsiteBundle立即下载所有依赖项 我已将每个类似的插件列入白名单ng p
  • NodeJS hmac 摘要问题与重音

    我正在对以下代码与 Ruby PHP 和 NodeJS 进行并排比较 使用 NodeJS 得到错误的响应crypto module PHP hash hmac sha256 text Ruby OpenSSL HMAC hexdigest
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • 如何计算在一定距离内达到一定速度所需的减速度?

    我已经尝试过典型的物理方程 但它们都不起作用 因为这些方程处理恒定的加速度 而我的方程需要改变才能正常工作 基本上 我有一辆车可以以很大的速度行驶 并且在到达路径终点时需要在给定的距离和时间内减速并停止 所以我有 V0 或当前速度 Vf 或
  • 如何获取所有喜欢 Facebook 帖子的人?

    我有脸书post https www facebook com Eventinarea posts 336638873112346 我可以点击 77 人这样 并获得我需要的所有人员 问 有没有办法通过FB API获取这些人 PS 我想从这些
  • jQuery 悬停时滚动到 div 并返回到第一个元素

    我基本上有一个具有设定尺寸的 div 和overflow hidden 该 div 包含 7 个子 div 但一次只显示一个 我希望当它们各自的链接悬停时能够平滑地垂直滚动 但是 第一部分 div 没有链接 并且是没有悬停链接时的默认部分
  • Python-验证我的文档 xls 中是否存在工作表

    我正在尝试在空闲时间设计一个小程序 加载 xls 文件 然后在要扫描的文档中选择一张纸 步骤1 用户导入 xls文件 导入程序后检查文件是否存在 我能做到的 第 2 步 我要求用户提供要分析的文档表 xls 的名称 这就是它停止的地方 该程
  • 如何读取 Fortran 中内容不以空格分隔的 2D 文件

    我有一个矩阵存储在文件 number txt 中 如下所示 12323456 54254311 76534522 我如何在 Fortran 中读取这样的矩阵 结果将是 1 2 3 2 3 4 5 6 5 4 2 5 4 3 1 1 7 6
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 如何减少典型 iPhone 应用程序的启动时间?

    需要明确的是 这是一个普通的 iPhone 应用程序 而不是游戏 我在网上读过几次 一些开发人员提到他们正在努力改进 减少应用程序的启动时间 但从来没有提供任何关于如何做到这一点的良好背景信息 那么问题很简单 如何减少 iPhone 应用程