【问题标题】:Android App created by Delphi XE5 starts very slowDelphi XE5创建的Android App启动很慢
【发布时间】:2013-10-09 13:25:33
【问题描述】:

我已经使用 Java 开发了一些带有 Android SDK 的 Android 应用程序,现在 XE5 已经推出,我是一位非常有经验的 Delphi 开发人员,他们开始非常缓慢,几乎 4 秒黑屏,这会破坏整个体验。

我知道 XE5 Android 应用程序在本机代码中运行,这不是发生的另一个原因,它们应该非常快

我能做些什么吗?

我使用的是三星 Galaxy S2 进行测试,所以与测试设备无关。

【问题讨论】:

  • 等到您要求用户下载该应用程序。看看有多大!!
  • 您是在开发/调试时谈论,还是在实际运行发布应用程序时谈论?我有一个 Galaxy S3 (Android 4.1.2) 和一个 Nexus 7 (Android 4.3),大多数东西编译为发布加载只需几分之一秒(有一个明显的黑屏片刻,但这是一个非常短暂的时间)。与 Android 的 Basic 或我在 Oxygene 中花费的短暂时间(尽管那非常短暂)相比,调试性能 OTOH 相当差。不过,Delphi 确实具有作为 Android 和 iOS 的单一代码库的优势。
  • 肯定是单一代码库。但原生无处。
  • @David:我在哪里说“本地”?这是一个重量/测量的东西。如果本机代码对您很重要,请将您的应用程序编写两次(Java/XCode)。如果为了便于开发而使用单个代码库更重要,请使用 Delphi。这取决于您自己的优先级。在这里喋喋不休地谈论不是本机或应用程序大小只是噪音,就像它抱怨 Delphi 不如用汇编编写高效一样。如果非要做windows开发,你自己权衡一下Delphi的易用性是否比写asm更重要。
  • @KenWhite 如果平台原生很重要,请不要使用 Delphi。如果应用程序大小允许合理的无线下载,请不要使用 Delphi。如果您想要 iOS 和 Android 的单一源代码库,那么 Delphi 是一个可行的候选者。这取决于您自己的优先事项。

标签: performance delphi delphi-xe5


【解决方案1】:

由于加载到内存中运行的本机库的大小,它们的加载速度有点慢。

确保您在新的、有能力的设备上运行发布版本,而且还不错。

但按照目前的情况,您将始终拥有一个大型原生库。

一种可能的做法是通过使用闪屏来分散用户的注意力。然而,这并不简单。不过是可行的。它会在一周左右的时间内记录在某个地方或其他地方。

【讨论】:

  • 这是一个交易破坏者,用户不希望应用程序在 4 秒内启动,甚至 google 都这样说:“通常,100 到 200 毫秒是用户感知应用程序缓慢的阈值”所以我想我会等待一个像样的 Delphi 用于 Android 开发并坚持使用 Eclipse 和 Java
  • 如果您喜欢 Pascal,但不喜欢 Delphi 解决方案,请尝试 RemObjects 的 Oxygene for Java 试用版。它直接针对 Dalvik VM 并且与 Java 完全一样,但是语言是 Object Pascal,IDE 是 Visual Studio。如果有兴趣,blong.com/Articles/OxygeneForJavaIntro/OxygeneForAndroid.htm 有一个 18 个月大的入门教程@
  • 谢谢 blong 我会检查一下,我真的很喜欢 Object Pascal :)
  • 我们在 Windows/Mac 上使用 FireMonkey,但我们为 iOS/Android 本地开发。
  • Chris Thornton,这是我从 XE5 示例编译的 apk,dropbox.com/s/rkshm1u7gx7bijr/…
猜你喜欢
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多