getSystemService 的文档建议不要在各种不同的上下文之间共享服务对象。

对于单个上下文,是否最好通过将服务对象分配给onCreate()中的实例字段来缓存服务对象,还是应该在使用时获取它?惯用法是什么?

最佳答案

由于保存系统服务对象的运行成本很少,因此我建议将其保留在数据成员中。是否在onCreate()中获得一个或在需要时延迟初始化它取决于您。

请注意,使用系统服务对象可能会产生大量成本。持有一个LocationManager实例很便宜;使用GPS(例如,通过requestLocationUpdates())并不便宜。

关于android - 应该将getSystemService(...)结果缓存吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10607000/

10-12 06:01