Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在从服务器检索海量数据(近10000条记录)方面,给我一个提高我的应用程序性能的建议?_Android - Fatal编程技术网

Android 在从服务器检索海量数据(近10000条记录)方面,给我一个提高我的应用程序性能的建议?

Android 在从服务器检索海量数据(近10000条记录)方面,给我一个提高我的应用程序性能的建议?,android,Android,从性能角度看,JSON解析需要花费大量时间来检索数据。在我的应用程序中,我需要从服务器获取近10000条记录。在emulator上,它可以立即获取数据并有效工作。但在我的android手机中,检索所有数据需要2分钟以上。请注意,给我一个改进手机性能的建议。我认为您可以使用GSON解析复杂的JSON响应。请检查这些教程 您只需创建模型类并使用适当的注释,然后数据将被直接解析为模型对象。问题是,是什么导致了这种减速。因为每件事都有着规划师般的魅力,很可能是网络速度。如果您找到了压缩json数据的解决

从性能角度看,JSON解析需要花费大量时间来检索数据。在我的应用程序中,我需要从服务器获取近10000条记录。在emulator上,它可以立即获取数据并有效工作。但在我的android手机中,检索所有数据需要2分钟以上。请注意,给我一个改进手机性能的建议。

我认为您可以使用GSON解析复杂的JSON响应。请检查这些教程


您只需创建模型类并使用适当的注释,然后数据将被直接解析为模型对象。

问题是,是什么导致了这种减速。因为每件事都有着规划师般的魅力,很可能是网络速度。如果您找到了压缩json数据的解决方案,您可以对此有所帮助

这是一个文本,有很多重复,非常好的可压缩性。http支持压缩

您需要在http服务器中设置它


如果您发现这是一个有希望的方向,我建议提出一个新问题,给出您的http服务器版本。祝你好运

模拟器可以访问主机的资源,因此不是测试性能的好方法

我已经将流式JSON解析器用于大数据集,它对我来说很好。但是,我在后台运行这个过程,并且能够接受较长的获取/解析时间。根据数据的大小和运行设备的速度,2分钟在我看来并不特别长


也许您可以先获取较小的数据子集,然后在后台获取其余数据时显示它。为了提高性能,您可能需要进行类似的优化。

您似乎在UI/主线程中执行文件/网络/解析操作。不要那样做。这将需要一分钟,用户界面冻结。如果互联网(CDMA、LTE或Wifi等)很低,这将非常困难。使用ASinktask或线程并查看progressbar。我尝试使用AsyncTask。我动态创建了视图。在将数据发布到UI时,它开始出现问题。您是否使用WCF和OData服务发送和接收信息?使用OData服务,而不是完全使用OData服务。我与dot net服务器交互我已经使用带有注释的模型类,这里的问题是关于JSON解析来检索海量数据。为什么gson解析更快?@PeterHorvath:从可用性的角度来看,请看一下基准测试代码,并将Gson所需的代码与Jackson所需的代码进行比较:Gson:Jackson:Gson团队致力于提高每个版本的性能,我现在对最近两个版本(2.2.3和2.2.4)的结果非常满意。我将尽力做到像tht一样。。并在仿真器在模拟arm cpu上运行jvm后回复您。我认为在大多数配置中,作为真正的android设备,它的速度并不快。@PeterHorvath,这取决于您为AVD选择的选项。如果配置为使用基于Intel的映像,则运行速度非常快。在这种情况下,听起来仿真器比设备快了很多。