Suppose I have an android Activity / Service that is using system services such as PowerManager, WifiManager, etc... Is it beneficial to have private members for keeping reference to those services once in the constructor or onCreate method instead of getting those service managers each and every time they are needed by calling getSystemService(...)`? If so, are those members safe to use in case one of those system services crash and restart? If they aren't safe, what is the right approach for handling such cases of service death?
s it beneficial to have private members for keeping reference to those services once in the constructor or onCreate method instead of getting those service managers each and every time they are needed by calling getSystemService(...)`?
Sure! It's less typing that way. :-)
If so, are those members safe to use in case one of those system services crash and restart?
If a system service crashes, the user has bigger problems than what happens with your app. That being said, you might get some sort of RuntimeException
.
来源:https://stackoverflow.com/questions/15054416/is-it-beneficial-to-keep-a-member-reference-to-system-services-in-android