Android XXXActivity and getApplicationContext () are different. android obtains context
Context can be seen everywhere from the perspective of android. After you view the source code, you will find that it is just an abstract class. The specific implementation is implemented in ContextWrapper.
When you view the android source code, you will find that both activity, service, and application are inherited from ContextWrapper. That is to say, they are all subclasses of context. How should we assign values to context?
In many cases, when the context value is assigned to acitivity, this Is The xxxActivity. this is the context of XXXActivity. Of course, getApplicationContext () is directly written when you don't understand it at the beginning. Of course, the difference between the two is obvious, XXXActivity. this returns the instance of the current Activity. getApplicationContext () returns the instance of the application. The life cycle of the two is much different. The application runs through the entire app. You are sure to understand the life cycle of the activity, so it cannot be used in disorder to prevent memory leakage
1. dialog
The dialog is attached to the activity, so you can directly use XXXActivity. this. When the activity disappears, the dialog will be destroyed.
2. activity
As we have already said above, when XXXActivity. this is used directly, the current activity instance is returned. When the current activity is destroyed, it is destroyed together.
3. service, broadcastReceiver
Both.
Conclusion: getApplicationContext () is not recommended for UI operations. Generally, the context related to the activity is used. For other operations, you can select a lifecycle based on the length of the existing lifecycle.
Sorry, I am not planning to update the IM part for the moment. I will first study this part of the camera and then update it later.
Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.