- 博客(11)
- 收藏
- 关注
原创 手写ButterKnife框架
注解处理器模块:annotationProcessor project(path: ':annotation_processor')注解模块:implementation project(path: ':annotation')二、java library:annotation_processor 注解处理器模块。一、java library:annontation 注解模块。1.引用依赖:依赖1(注解模块) 和 依赖2(注解处理器模块)4.MainActivity中使用。四、成功啦,如图所示。
2023-04-15 22:21:45
140
原创 动态库So的集成及配置
/so的存放路径: main/jniLibs/armeabi-v7a 和 main/jniLibs/armeabi。//so存放在 libs目录下,不限定架构种类。1.在模块的main/jniLibs目录下存放不同架构的so;1.so存放在模块的默认的libs目录下,
2023-03-26 19:15:52
902
原创 Android组件化流程
1.解耦 只要封装做得好,实际开发中会省去大量的重复代码的coding。2.结构清晰、层次明显,对后面的维护也是极其容易。3.每个业务模块可独立运行,单独提测,节省开发时间。
2022-08-25 04:08:38
806
原创 View事件机制
一.Activity的事件分发1.事件分发顺序Activity->(PhoneWindow->DecorView-> )ViewGroup->View(从外到内)2.事件消费顺序View->ViewGroup->(DecorView->PhoneWindow) ->Activity(从内到外);...
2020-04-27 00:22:37
121
原创 Handler消息机制
Handler消息机制方法调用顺序1. handler.sendMessage(msg) ---handler发送消息2. MessageQueue.enqueueMessage() --往消息队列添加消息3. Looper.loop() --循环读取消息(里面调用MessageQueue.next())4. Message = MessageQueue.ne...
2020-04-26 19:55:09
146
原创 Activity嵌套Fragment时的生命周期
当打开一个Activity,里面嵌套Fragment1.打开Fragment onAttach ------当Fragment与Activity发生关联时调用,Fragment与Activity已经完成绑定Fragment onCreate ------创建FragmentFragment onCreateView ------创建该Fragment的视图布局Activity ...
2020-04-13 17:19:15
405
原创 git安装及androidstudio上配置,下载代码
一、Git安装过程 双击进行安装:01、使用许可声明 点击“Next”进入下图页面:02、选择安装路径 选择安装路径03、选择安装组件 上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。...
2020-04-08 20:03:19
968
原创 广播:动态广播及静态广播
一、静态和动态广播1.动态注册:代码中注册2.静态注册:在AndroidManifest.xml配置文件中注册* 动态注册:* 1.new 一个广播类* 2.new一个intentFilter类,参数是广播指令,注册广播* 3.发送广播,设置:广播指令,内容,发送* 4.广播类收到广播:做出反应* 5.页面销毁时,注销广播** * 静态注册:* 1.快捷方式new...
2020-04-07 03:46:08
891
原创 Android中性能优化
由于手机硬件的限制,内存和CPU都无法像pc一样具有超大的内存,Android手机上,过多的使用内存,会容易导致oom,过多的使用CPU资源,会导致手机卡顿,甚至导致anr。我主要是从一下几部分进行优化:布局优化,绘制优化,内存泄漏优化,响应速度优化,listview优化,bitmap优化,线程优化布局优化:工具 hierarchyviewer,解决方式:1、删除无用的空间和层级。...
2020-04-05 23:29:07
85
原创 Android 的事件分发机制及源码分析
基本会遵从 Activity => ViewGroup => View 的顺序进行事件分发,然后通过调用 onTouchEvent() 方法进行事件的处理。我们在项目中一般会对 MotionEvent.ACTION_DOWN,MotionEvent.ACTION_UP,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_CANCEL 分情况进行操作。...
2020-04-05 23:25:44
2170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人