Google 原本希望在 Android 10 上 , 对所有的应用程序进行文件访问的限制 , 推广使用 Android 存储访问框架的方式进行文件访问 。但是这个改动引起了社区内的强烈抗议 , 所以 Google 决定推迟推出这个功能 。因此 , 现在即使你的应用程序在 Target API 29 及以上 , 也可以设置为在“Legacy”模式下可读取文件 。不过 , 有可能在 Android 的下一个版本 , 不管你设置的 Target API 为多少 , 都会限制应用程序使用新的作用域访问模式 。
到目前为止 , 我也还没有更新我应用程序的文件访问方式 。但是从互联网上的讨论来看 , 实现新的文件访问方式是一项很具挑战的任务 , 虽然你的应用程序在“Legacy”模式下 , 没有任何异常 , 但是我建议你最好从现在开始 , 着手对代码进行重构和测试 , 以防发生不可控的事情 。

文章插图
Shared Preferences
在几周前 , AndroidX 家族增加了一个新的库 , 这条提交信息写道:
新的库用来替换 SharedPreferences , 新库的名称还没有确定下来 , 这次提交只是为了评审和设计文档(请自行申请设计文档) 。
现在还没有什么值得担心的 。不过 , 从长远来看 , SharedPreferences 会被废弃掉 , 取而代之 , 使用新的库来实现类似的功能 。
与 SharedPreferences 不同的是 , 这个新的库默认情况下使用的是异步的方式[6] 。换句话说 , 如果你需要取某个值 , 你需要实现回调 , 通过这个回调才能拿到值 。
如果你对这种异步回调的原理感兴趣 , 你可以去看看 StackOverflow 上的这个回答[7] 。Reddit 的一个用户 Tolriq 分享了他们的 App 遇到的一个 SharedPreferences 的 Bug , 这个问题影响了万分之一的月活用户 。对于一般的应用程序来说 , 这个问题并没有什么明显的影响 。但在一些需要高可靠性的应用上 , 就显得很不可靠了 。举个例子 , 如果在 Android 汽车上 , 应用程序的无响应和崩溃会引起驾驶员的注意力被分散 , 这将有可能导致出现交通意外 。

文章插图
依赖注入
在依赖注入领域 , 最大的新闻莫过于 Dagger-Android 被弃用 , 有两点需要强调一下 , 首先我所说的弃用 , 不是正式的弃用 , 因为官方并没有发布声明 。其次 , Dagger-Android 并不是指整个 Dagger 2 框架 , 只是指其中相对比较新的部分 。详细细节可以看我的另一篇文章[8] 。
在 Android 领域也存在其他的依赖注入框架 , 但是我不认为他们会比 Dagger 更好 。值得一提的是 , Koin 是一个不错的依赖注入框架 , 但是我依然觉得它也不会引起多大的潮流 。它之所以会被采用 , 无非是这两个原因 , 一个是 , 它拥有比 Dagger 好很多的文档 , 降低了很大的学习成本 。第二个是它基于 Kotlin 进行编写 , 因为 Kotlin 的热度 , 给它也带来了不少的关注 。到目前为止 , Kotlin 的热潮几乎已经全部过去了 , 所以 , 我预测 , Koin 的关注也将会逐渐减少 。
不管这些框架如何发展 , 手动依赖注入的发展都会很缓慢 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
