美文网首页
Android 四大组建类是怎么创建的?

Android 四大组建类是怎么创建的?

作者: JokAr_ | 来源:发表于2019-11-18 13:11 被阅读0次

    Android里的四大组建类到底是怎么创建的呢?是直接new出来的还是?,通过下面源码可以看到都是类加载器方式即通过反射的方式生成的(调用者都是在ActivityThread里)

    //9.0源码
    public class AppComponentFactory {
    
        public @NonNull Application instantiateApplication(@NonNull ClassLoader cl,
                @NonNull String className)
                throws InstantiationException, IllegalAccessException, ClassNotFoundException {
            return (Application) cl.loadClass(className).newInstance();
        }
    
    
        public @NonNull Activity instantiateActivity(@NonNull ClassLoader cl, @NonNull String className,
                @Nullable Intent intent)
                throws InstantiationException, IllegalAccessException, ClassNotFoundException {
            return (Activity) cl.loadClass(className).newInstance();
        }
    
       
        public @NonNull BroadcastReceiver instantiateReceiver(@NonNull ClassLoader cl,
                @NonNull String className, @Nullable Intent intent)
                throws InstantiationException, IllegalAccessException, ClassNotFoundException {
            return (BroadcastReceiver) cl.loadClass(className).newInstance();
        }
    
    
        public @NonNull Service instantiateService(@NonNull ClassLoader cl,
                @NonNull String className, @Nullable Intent intent)
                throws InstantiationException, IllegalAccessException, ClassNotFoundException {
            return (Service) cl.loadClass(className).newInstance();
        }
    
       
        public @NonNull ContentProvider instantiateProvider(@NonNull ClassLoader cl,
                @NonNull String className)
                throws InstantiationException, IllegalAccessException, ClassNotFoundException {
            return (ContentProvider) cl.loadClass(className).newInstance();
        }
    
        /**
         * @hide
         */
        public static final AppComponentFactory DEFAULT = new AppComponentFactory();
    }
    

    相关文章

      网友评论

          本文标题:Android 四大组建类是怎么创建的?

          本文链接:https://www.haomeiwen.com/subject/wjnvictx.html