android 程序 共享文件,在Android应用程序之间共享不可变文件

我写了2个应用程序,其数据从互联网下载。由于此数据(大约40Mb,在几个zip文件中)是相同的,因此我希望在2个应用程序之间共享它,以便为用户消耗更少的带宽和更少的存储空间。在Android应用程序之间共享不可变文件

目前,我还没有找到一个很好的解决方案:

的渊源,我在公众下载目录中保存的数据。 这是一个简单的解决方案,但它需要读取权限,我想避免这种情况。

后来我想,我可以使用内容提供商(和inputStreams和mmaped字节缓冲区),但为核心,我的应用使许多zip文件 在一个大ZipResourceFile其中: 一些压缩文件的读取和复制 一些非压缩文件被mmaped和

所以作为Lucene的数据库,我可以约一个简单的FileProvider忘记,因为我需要一个文件得到的ZipFile以解压缩我的数据

但是,如果我得到一些通过这样的ZipFileContentProvider mmaped字节缓冲区,这将是能够有一个长期和安全的生活吗? (我应该使用服务?) 如果服务它的ZipFileContentProvider进程死了怎么办? 记忆体消耗情况如何?什么是警告? ContentProvider是不是应该以短命的方式使用?

有没有更好的解决方案?

UPDATE:

真的很讨厌那个机器人不能共享目录从同一developper(和其他没有人)一些应用程序。或者可能吗?

UPDATE2:

我认为存储文件的getExternalFilesDir(),但下面的正式警告是让我非常紧张(什么写什么?):

注意事项虽然提供的目录getExternalFilesDir()和 getExternalFilesDirs()不是由MediaStore内容提供商 访问,其他应用程序与READ_EXTERNAL_STORAGE权限的用户可以访问 到外部存储器上的所有文件,包括这些。如果您需要 完全限制文件的访问权限,则应该将文件写入 到内部存储器。

+0

不能使用ZipInputStream封装从ContentResolver打开的InputStream吗? –

+0

没想过。与ZipFileProvider相比,性能应该是可怕的,尽管当你必须遍历整个文件来读取最后一个zipEntry时... –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值