Delphi XE5创建的Android应用程序启动非常缓慢

7
我已经使用Java开发了一些Android应用程序,使用的是Android SDK。现在XE5发布了,我是一个非常有经验的Delphi开发人员,我尝试了一些Android应用程序示例,我的印象是使用XE5设计的Android应用程序运行非常缓慢,它们启动非常缓慢,几乎需要4秒钟才会出现一个黑屏幕,这破坏了整个体验。
我知道XE5 Android应用程序运行在本地代码中,这是不会发生的另一个原因,它们应该非常快。
有什么办法可以解决这个问题吗?
我正在使用三星Galaxy S2进行测试,所以这不是关于测试设备的问题。

3
等到你要求用户下载应用程序时再看看它有多大!! - David Heffernan
2
单一代码库可靠,但不本地化。 - David Heffernan
1
@David:我在哪里说过“本地语言”了吗?这是一个权衡利弊的问题。如果本地代码对你很重要,那就写两个应用程序(Java/XCode)。如果单一代码库更重要,以便于开发,那就使用Delphi。这取决于你自己的优先事项。在这里抱怨不是本地语言或应用程序大小只是噪音,就像抱怨Delphi不如汇编语言编写效率一样。如果你必须进行Windows开发,那么你需要权衡一下Delphi的易用性是否比编写汇编语言更重要。 - Ken White
@Ken 我同意你的所有观点,并且还抱怨了应用程序的大小。我的评论并不是针对你的,我不明白你为什么要这样反应。为什么要把它当成个人问题呢?冷静点,伙计! - David Heffernan
@David:不会把任何事情当成个人问题。只是不明白为什么你要在我说完之后立即重复我已经说过的一切。在我看来,简单地唠叨不停就相当于语言战争,但我不明白为什么你这样做,考虑到你使用的是Delphi。(你甚至在Android/iOS开发中使用它吗?我不记得在任何地方看到你提到过它。)而且你的评论是针对我的:“Single codebase for sure. But native nowhere.” 明显是针对我的;它跟随这里唯一关于单一代码库的评论(我的),就在上面。 - Ken White
显示剩余10条评论
1个回答

8

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

确保您在新的、能力强的设备上运行发布版本,这样就不会太糟糕。

但是,目前情况下,您总是会有一个大的本地库。

一种可能的做法是通过使用启动画面来分散用户的注意力。然而,这并不简单。但是这是可行的。它将在一周左右的时间内在某个地方有所记录。


2
这是一个不能接受的问题,用户不想使用需要4秒才能启动的应用程序,即使谷歌也表示:“通常,100到200毫秒是用户会感觉应用程序运行缓慢的阈值”,所以我想我会等待一个像样的Delphi for Android开发工具,并继续使用Eclipse和Java。 - Mike
如果您喜欢Pascal,但不喜欢Delphi解决方案,请尝试使用RemObjects的Oxygene for Java试用版。它直接针对Dalvik VM,并且与Java完全相同,但语言是Object Pascal,IDE是Visual Studio。 如果感兴趣,可以在http://blong.com/Articles/OxygeneForJavaIntro/OxygeneForAndroid.htm上找到一个18个月前的入门教程。 - blong
谢谢,Blong。我会去看看的,我真的很喜欢 Object Pascal :) - Mike
我们在Windows/Mac上使用FireMonkey,但我们本地开发iOS/Android。 - Marcus Adams
2
Chris Thornton,这是我从XE5示例编译的apk。https://www.dropbox.com/s/rkshm1u7gx7bijr/com.embarcadero.SampleListViewMultiDetailAppearanceProject-1.apk - Mike
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接