我很困惑为什么我们要在android中使用attachbasecontext。如果有人能给我解释一下这句话的意思,那将是很大的帮助。
最佳答案
attachBaseContext
函数是ContextWrapper
类,它确保上下文只附加一次。ContextThemeWrapper
应用程序或活动的主题作为其名称,该主题在android:theme
文件中定义为AndroidManifest.xml
。
因为应用程序和服务都不需要主题,所以它们直接从ContextWrapper
继承。在活动、应用程序和服务启动期间,每次都会创建一个新的contextimpl对象,该对象在context中实现函数。
public class ContextWrapper extends Context {
Context mBase;
public ContextWrapper(Context base) {
mBase = base;
}
/**
* Set the base context for this ContextWrapper. All calls will then be
* delegated to the base context. Throws
* IllegalStateException if a base context has already been set.
*
* @param base The new base context for this wrapper.
*/
protected void attachBaseContext(Context base) {
if (mBase != null) {
throw new IllegalStateException("Base context already set");
}
mBase = base;
}
}
更多关于have lookthis.
关于android - attachBaseContext的作用是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51759985/