繁体   English   中英

高效启动应用程序的最佳方法

[英]Best way to start an application efficiently

问题在于,我想知道什么是启动需要的Android应用程序的最有效方法:

1- xml / json流将通过WebServices下载(文本,图像url,dataq等)

2-将数据保存在sqlite中,然后加载以在应用程序中使用(1-的数据)

3-保存在SharedPreference中的数据也被加载以供应用程序使用(某些用户输入)

4-要从网址下载的图片(网址为1-的图片)

我需要的是一种在所有约束条件下启动应用程序的好方法(从Web服务加载数据,sqlite插入/更新等),但是要使应用程序尽快启动,必须​​高效地加载数据。

我要说的是纯粹的速度。 SharedPref-SQLite-xml / json。

与在计算机本身上进行本地操作相比,建立网络连接总是较慢。 即使不是在完美的条件下,您也无法保证完美的移动互联网和服务器性能。 之后,您仍然必须解析它。

并不是为了保存整个数据结构而创建SharedPreferences,只是为了将一些简单的事情作为小的设置而保留一段时间。

您要对数据进行的操作是从服务器加载一次。 最好不显示加载屏幕等。将其保存到SQLite数据库中。 在下次启动时,您可以(几乎)立即显示数据库中的数据,并在后台从Web服务进行更新以保持最新。

好问题 ! 我将列出一系列很棒的库。 首先,您肯定要看一下AndroidAnnotations,这确实可以简化您的工作。 不要害怕在Annotations上的表现。 这不是反思,而是编译步骤。 它确实简化了共享首选项的使用。 对于http来说, spring很好,并且与android注释很好地集成在一起。 我从未在WS中使用过xml,但是对于json映射,我使用Jackson,它非常快速和灵活。 我认为gson也做得很好。

对于图像加载,UIL是最有效和最成熟的(因此,在我进行基准测试时,7月份也是如此,毕加索和Volley也是这种情况)。

现在,我还没有找到ORM圣人,但我的建议是“您真的需要数据库吗?” 如果您有怀疑的退缩。 如果需要,ormlite有一些性能问题。 在我的下一个项目中,我将尝试greenDao。

明确地将CursorAdapter用于ListView + SQLite,而不是在Listview中加载。 但是请确保不要同时密集访问数据库(WS写)。

如果您需要传递“ Hey new data is available in database refresh”之类的事件,请不要创建样板接口。 使用事件总线,这真是太棒了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM