我在我的应用程序中使用 FlutterFire Crashlytics 插件。它在 Android 和 iOS 上运行良好(我已经上传了 iOS 等的 .dysm),并且我可以在 Firebase 控制台中看到错误堆栈跟踪。我已准备好发布该应用程序,Flutter文档建议使用以下选项混淆 dart 代码:
flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>
Run Code Online (Sandbox Code Playgroud)
我的问题是:Crashlytics 是否仍会以纯格式向我显示堆栈跟踪,还是会使代码变得复杂/改变?
我正在阅读我的团队的现有代码库,我注意到mutableListOf总是声明为val. 在某些场景下,元素只添加mutableListOf一次。例如
val jobList = mutableListOf<JobActivity>()
jobList.addAll(job.activities)
Run Code Online (Sandbox Code Playgroud)
在其他场景中,元素被添加到mutableListOf循环中。例如
val jobList = mutableListOf<JobActivity>()
newJobList.filterScanType(retrieveJobType(JobContext.NEW)).forEach {
jobList.add(it)
}
Run Code Online (Sandbox Code Playgroud)
由于列表在创建时未初始化,为什么不声明mutableListOf为var?网上找到的很多示例也遵循相同的声明mutableListOf模式val。
在所描述的 2 个场景中哪个最适合使用,val或者var?