getSystemService
的文档建议不要在各种不同的上下文之间共享服务对象。
对于单个上下文,是否最好通过将服务对象分配给onCreate()
中的实例字段来缓存服务对象,还是应该在使用时获取它?惯用法是什么?
最佳答案
由于保存系统服务对象的运行成本很少,因此我建议将其保留在数据成员中。是否在onCreate()
中获得一个或在需要时延迟初始化它取决于您。
请注意,使用系统服务对象可能会产生大量成本。持有一个LocationManager
实例很便宜;使用GPS(例如,通过requestLocationUpdates()
)并不便宜。
关于android - 应该将getSystemService(...)结果缓存吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10607000/