Android:保存Application Singleton Class中存储数据的最佳方法

Android:保存Application Singleton Class中存储数据的最佳方法,第1张

概述保存Android应用程序的应用程序类(单例)中存储的数据的最佳方法是什么?我有一个安静的大应用程序,在活动之间共享大量数据.因此大部分都存储在ApplicationSingleton上.这一切都很有效..util应用程序被低内存的 *** 作系统杀死…然后当它返回时它会尝试恢复活动而没有成功,因为缺少

保存Android应用程序的应用程序类(单例)中存储的数据的最佳方法是什么?

我有一个安静的大应用程序,在活动之间共享大量数据.因此大部分都存储在Application Singleton上.

这一切都很有效.. util应用程序被低内存的 *** 作系统杀死…然后当它返回时它会尝试恢复活动而没有成功,因为缺少必须在Application上的数据.

由于缺乏一种非常欣赏(和需要)的方法来根据您的经验在应用程序上保存数据,哪种方法最好?

我可以保存一些东西,除了“正常”字符串,布尔值等,比如Bitmaps?

我已经看过这个How to declare global variables in Android?,但问题并不是关注在这种情况下重要的是什么,当应用程序因内存不足而被杀死时如何保存数据…

解决方法:

与许多问题一样,没有简单的答案.有许多方法可以保存数据,每种方法都有优点和缺点. “最佳”方法取决于您的特定需求.你有这里的所有选择:http://developer.android.com/guide/topics/data/data-storage.html

>对于少数小位图,您可以对它们进行编码并将其存储在SharedPreferences中.
>对于更多更大的图像,您有两种选择

> database中的blob列
>将它们存储为internal storage中的文件,并将链接保留在您的首选项中.

SharedPreferences存储字符串,因此可以存储任何字符串,包括任何序列化/编码对象.根据this post,SharedPreferences中的序列化字符串没有硬编码大小限制,但是基于字符串大小限制.尽管如此,this other post指出整个SharedPreferences对象是作为单个xml文件编写的,因此您应该尽量将其大小保持在最小值.

JsON对象(或使用katit建议的GSON)是一个很好的轻量级选项,但我采取的方法是将它们保存到内部数据存储(除非数据真的很大,即数兆字节,你更喜欢外部存储)并仅在SharedPreferences中保留链接.我不知道你的对象是什么样的,但是如果它们可以简化为一堆更简单的组件,你可以为它们考虑一个数据库(即每个对象一行,每个字段一列,包括一些blob) .

文件与数据库方法还取决于您计划访问这些对象的次数.如果它们只被阅读一两次然后消失,那么我会选择文件而不是数据库及其游标的麻烦.如果有很多读取,我会选择一个数据库,也许你需要使用查询更快的搜索.

另请查看此帖子:http://android-developers.blogspot.in/2009/02/faster-screen-orientation-change.html以获取特定于活动的选项.

总结

以上是内存溢出为你收集整理的Android:保存Application Singleton Class中存储数据的最佳方法全部内容,希望文章能够帮你解决Android:保存Application Singleton Class中存储数据的最佳方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1098576.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存