Java 保留Android设备的内部存储以备将来应用程序关键日志使用
我正在开发一个应用程序,它将为用户正在执行的每个操作保存重要日志。 这些日志非常重要,我需要在安装应用程序时保留一个空间,因此如果设备没有所需的空间,他就无法安装应用程序 我需要覆盖或使用保留空间来记录操作。 我不知道实现这一需求的最佳方法。 如果我把一个大文件放在资产文件夹中,应用程序在安装时需要这个空间,但正如你所知,资产文件夹是只读的! 事实上,我请求您帮助我找到一种方法,在我的应用程序中保留空间供将来使用Java 保留Android设备的内部存储以备将来应用程序关键日志使用,java,android,performance,storage,Java,Android,Performance,Storage,我正在开发一个应用程序,它将为用户正在执行的每个操作保存重要日志。 这些日志非常重要,我需要在安装应用程序时保留一个空间,因此如果设备没有所需的空间,他就无法安装应用程序 我需要覆盖或使用保留空间来记录操作。 我不知道实现这一需求的最佳方法。 如果我把一个大文件放在资产文件夹中,应用程序在安装时需要这个空间,但正如你所知,资产文件夹是只读的! 事实上,我请求您帮助我找到一种方法,在我的应用程序中保留空间供将来使用 提前感谢我能想到的最简单的解决方案是在应用程序第一次午餐时创建一个空文件,如果失败
提前感谢我能想到的最简单的解决方案是在应用程序第一次午餐时创建一个空文件,如果失败,请向用户提供此信息
如果您在安装过程中确实想这样做,您可以使用这些用于超大尺寸APK,但您也可以使用它们,因为它们保存在外部存储中,因此您可以覆盖它们。在设备安装并运行之前,您的应用程序不会了解设备的任何状态,因此您无法阻止安装。如果你真的关心空间,一个可能的解决方案是让你的应用在第一次运行时尝试将虚拟数据写入存储器,并根据需要覆盖它。如果没有足够的空间,则必须通知用户。这是你能做的最好的了。非常感谢,但是你能告诉我你为此建议使用哪种类型的文件吗???我的意思是,哪种类型的文件是最好的,在运行应用程序的过程中,在必要时可以很容易地被覆盖。读到你的文章后,我立即想到的两个选项是SQLite数据库,或标准文件,通过
RandomAccessFile
对象访问。在这两个选项中,我认为从编码的角度来看,数据库选项可能更容易,特别是当您处理长度不同的日志条目时。非常感谢Ilya,但是你能告诉我你建议哪种类型的文件用于此目的吗???我的意思是哪种类型的文件是最好的,可以在运行应用程序时轻松覆盖necessary@DeveloperAccount我建议,保留本地文件。更容易处理。谢谢,我决定在应用程序启动时创建多个虚拟文件,每当存储空间用完时,我可以删除其中一个文件并保存我的记录(我想在每次插入之前检查可用的内部存储)。对于日志记录,我想使用sqlite,我知道它很简单,但是,您能否告诉我,在一个包含10列的表中保存大约6000条记录需要多少存储空间?