【发布时间】:2013-11-30 21:36:47
【问题描述】:
这个问题是我看到ianhanniballake的评论后编辑的。我删除了不相关的部分。
我有一个意图服务被AlarmManager反复调用,并读取一些文件(文件内容很少改变)以提取PublicKey对象。
存储文件(定期访问)的最佳位置是什么?最快的记忆是什么? 我猜是 SharedPreferences、InternalStorage 和最后是 ExternalStorage,但我没有找到这个问题的答案。
有没有什么技术可以有效地进行这样的程序(无需每次都读取文件)?
【问题讨论】:
-
IntentServices 是Context(与Service相同)那么有什么问题? -
你是对的。我是我的错。我将编辑我的问题。 10 倍!
-
具体来说-以下两个选项哪个更有效? (1) 将公钥作为base64字符串保存在SharedPreferences中(代价是从SharedPreferences中读取,解码为字节)。 (2) 将pk作为二进制文件保存在InternalStorage中(成本只是从InternalStorage中读取)。
-
在下面查看我的答案。我认为使用内部存储器快速且资源消耗更少,每部手机/设备都有内部存储器。这样您就不必依赖具有 sd 卡的设备,但您当然可以更改您的代码以首先检查它,如果手机有它使用它来释放设备数据的内部空间,而不是应用程序数据.
标签: android android-intent android-service alarmmanager intentservice