java - Android:每次我想登录时是否打开文件资源

标签 java android file-io

我正在通过写入文件在 android 中做我自己的记录器。目前,我调用打开文件并向其附加字符串的函数。但是,我在某处读到,每次登录文件时都需要打开一个文件(操作繁重)。这是真的?这里有什么选择?我应该打开一个文件并在应用程序运行期间保持打开状态,然后只附加到它吗?或者你有什么建议?

非常感谢

最佳答案

这取决于您正在执行多少日志记录 - 每秒记录多少日志、大致有多少数据、日志的重要性等。如果您每分钟只将某些内容放入文件中几次,那么只要它没有发生在主线程上并减慢其他东西的速度,你可能就没事了。如果您确实需要实现更高效的功能,您可能想尝试一些简单的缓存。

您可以保留日志数据的内存缓存,并在日志数据达到一定大小(每 100 行)或经过一定时间(每 5 分钟)时将其保存到文件中。

如果您采用这种方法,请记住覆盖 onPause 和 onDestroy 并确保在离开应用程序之前将缓存的日志数据写入文件,以防用户不会回来。

关于java - Android:每次我想登录时是否打开文件资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272788/

相关文章:

java - Google 搜索应用在 Android 中发送通知 'at this shop?'

java - 使用 PowerMockito 类的所有实例的模拟方法

android-OnClickListener 不适用于回收适配器内的 View

java - Java读取文件,输出第一个逗号分隔的字符串

Javassist ClassPool 类的 get 方法针对 java.lang.String 抛出 NotFoundException

java - Android studio 2.1.3 - 由于 ':app:packageDebug',Android 应用程序构建失败

java - ImageView 不显示在以图层列表为背景的 LinearLayout 内

R - 将数据帧写入/读取到文件,包括属性

java - 在java中写入文件的最快方法

java - .getPixel() 的更好替代方案?