Android复习重新学习
guanyueliuxing
这个作者很懒,什么都没留下…
展开
-
Gradle学习(一)
第一步:在androidManifest<meta-data android:name="channel" android:value="${channel_value}"/>第二步:配置gradle中的基本信息 //产品维度,没有实际意义,但是gradle需要 flavorDimensions 'default' //定义各个渠道 productFlavors{ baidu {} xiaomi {}原创 2021-05-10 13:52:20 · 316 阅读 · 0 评论 -
android中的几种常用的架构复习
1.什么是MVC a:其实我们日常开发中的activity,Fragment和xml界面就相当于是一个MVC的架构模式,但是往往Activity中需要处理绑定UI,用户交互,以及数据处理 b:这种开发方式的缺点就是业务量复杂的时候一个activity过于臃肿,但是页面不复杂的情况下使用这种模式相对就比较简单了 View:xml实例化 Mode:数据获取那一层 Controller:Activity/Fragment:业务逻辑和一些布局初始化都在这...原创 2021-05-06 14:32:57 · 116 阅读 · 0 评论 -
设计模式复习
一:单例模式 a:饿汉单例模式 java写法://饿汉单例模式private static HotFix mHotFix = new HotFix();public static HotFix getInstance(){ return mHotFix} kotlin写法:这种直接创建类文件的方式实际上转换成java时和上面的代码几乎一样object HotFix {}b懒汉单例模式 java的写法: //饿汉单例模式 ...原创 2021-04-28 13:55:17 · 77 阅读 · 0 评论 -
android类加载
1.什么是双亲委派(本质就是个递归调用的流程) a:android在加载.class文件的时候,我们都知道是通过classLoader进行加载的,但是classLoader也是有很多类型的,它会每级递归向上委托给父类加载器classLoader进行加载,如果加载过,就不再加载 (CustomClassLoader->PathClassLoader->BootClassLoader):比如我们创建了CustomClassLoader时,如果没有在它构造方法中传递父clas...原创 2021-04-27 14:26:51 · 159 阅读 · 0 评论 -
android的消息机制
前置:一个线程一个looper,1个looper一个messageQueue,一个messageQueue对应多个Message;一个messageQueue可以对应多个handler(一般消息队列中Looper是一个无限循环的操作,但是当队列中没有消息时,会阻塞沉睡,等待有消息时被唤醒)一:messageQueue:它是一个单项的链表,方便插入,删除,里面存了很多个message,每个message都相当于一个链表上的点,通过Message中的next指向下一个消息, 不管是通过sendM...原创 2021-04-26 17:06:14 · 82 阅读 · 0 评论 -
kotlin的协程复习
一:使用场景:1.异步回调嵌套 2.并发流程控制二:创建协程的常用方法val job:Job = GlobalScope.launch (Dispatchers.Main){ }val async:Deferred<Unit> = GlobalScope.async(Dispatchers.Main) { }//Deferred其实就是Job的子类,实际上就是增加了个wait方法,能够让当前协程暂时挂起,暂停往下执行.当await方法有返回值后,会恢复协程往下执行job.s原创 2021-04-25 16:51:16 · 133 阅读 · 0 评论 -
android线程复习
一:线程创建的几种方式 a:new Thread(newRunable(){}).start(),这种方式创建方式如果过多的话,会可能导致死机和oom b:AsyncTask来创建线程,它里面有三种执行方法(AsyncTask已经被废弃) 1)execute(),这里面试串行执行的,所以创建的多时.某个线程出问题就会阻塞 2)executeOnExecutor() 3)AsyncTask.THREAD_POOL_EXECUTOR.execut...原创 2021-04-22 20:17:58 · 76 阅读 · 0 评论 -
recyclerView的学习
1.手势流程流程:inputEventRecevier->viewRootImpl->decorView->activity->window->phonewindow->ViewGroup->View2:reyclerView的缓存可以包含四级,可以通过以下方法进行优化 a:不需要重新bindViewHolder,从名字可以看出,缓存在这里面的Holder就不需要回收,因为有可能还要被使用 ArrayList<ViewHolde...原创 2021-04-21 17:43:10 · 72 阅读 · 0 评论 -
android的启动流程学习
第一部分:1.启动一个app,从framework层中的init.rc进程方法开始,在这个方法里有一个参数pid,代表的是主线程还是子线程来的,1是主线程,通过这个来创建我们的孵化器Zygote2.Zygote的作用主要分为两个方面: a:创建SystemServer: 1.ActivityManagerService 2.WindowManagerService 3.PowerManagerService 4.InputyManagerService b:孵化应用进程3.Zy...原创 2021-04-21 16:37:44 · 78 阅读 · 0 评论 -
android复习之AIDL
1.AIDL的基本作用:AIDL是Android中IPC方式中的一种,AIDL是Android Interface definition language的缩写,它的作用就是用来和绑定其他应用的service来实现两个应用之间的通讯2.服务端主要实现以下几个步骤 a.创建aidl文件,as会自动给你生成一个列子 b.编写服务端代码,在aidl文件中编写代码getName(),并且rebuild一下c.编写提供方法的Service,并且在AndroidManifest中...原创 2021-03-09 15:30:26 · 111 阅读 · 0 评论