首页 > 解决方案 > 从后台任务将日志保存到文件系统

问题描述

我想将日志系统添加到将调试/事件日志写入文本文件的 android 应用程序中。用户必须能够打开和关闭它。

我的应用程序使用了一些“背景技术”,例如使事情复杂化的 AlarmManagers 和 Homescreen Widgets。

我想我必须编写打开/关闭日志记录到文件的变量,并在每次事件调用 log 方法时检查它。

这似乎非常浪费,尤其是在关闭日志记录的情况下。将变量设为静态可以防止它在一段时间内(但不会很长时间)被垃圾收集,并且也有点浪费。如果它不在后台任务中,我也担心泄漏上下文或读/写/共享首选项崩溃。

我该如何以不同的方式解决这个问题?

一些伪代码:

logToFile("some error", Context context)

logtoFile (String error, Context context){
  if(context.checkSharedPreferencesIfLoggingIsEnabled){
    context.openFileOutput.write(error)
  }
}

标签: javaandroidfileloggingbackground-process

解决方案


推荐阅读