自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Handler 理解记录

目录问题1、一个线程有几个handler2、一个线程有几个looperhandler机制问题1、一个线程有几个handlerhandler通过 new创建 handler对象,对象多少取决于new的个数2、一个线程有几个looper?如何保证?一个线程有一个looper每当执行 looper.prepare()会判断 ThreadLocal.get()Looper 类中会定义 final ThreadLocal属性 ThreadLocal唯一..

2022-02-09 20:46:09 1172

原创 Coordinatorlayout AppBarLayout RecyclerView item曝光埋点失准分析

问题描述 Coordinatorlayout (协调者布局)与AppBarLayout实现 topbar的收滑动缩放效果,RecyclerView 监听滑动停止时 第一个跟最后一个可见的item 上报曝光埋点(findFirstVisibleItemPosition findLastVisibleItemPosition)但上报的埋点数据与用户真实见到的item不符,曝光埋点失准。问题原因用户的可见视野区域高度(768)RecyclerView 的计算高度...

2022-02-09 15:15:32 561

原创 Android启动时间分析一

Android studio profiler CPU Profiler在与应用交互时实时检查应用的CPU 使用率和线程活动,也可以检查记录的方法跟踪数据、函数跟踪数据和系统跟踪数据的详细信息。使用profiler跟踪进程活动时,需要对设备进行root操作。 准备trace文件:Application 中的oncre方法中 添加Debug.startMethodTracing("mingcheng") @Override public void onCreate(...

2021-12-15 20:51:31 1581

原创 设计模式——策略模式

策略模式 定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户原则:1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一 起,封装变化 ,多用组合少用继承(系统中的某些部分改变不会影响到其他部分,将需要变化的代码“远离”不需要改变的代码) 2、针对接口编程(针对超类型编程 ~~变量声明应该为一个超类),而不是针对实现编程(继承而来并且实现父类方法却被固定的实现方法绑定的死死的)...

2021-08-22 15:42:01 79

原创 flutter 初见

一、https://flutterchina.club/setup-windows/ 环境搭建二、dart语言1、

2021-08-19 19:56:07 78

原创 RXjava变换操作符

变换操作符RXjavamap、1、map 将源observeable 中的数据转换成目标数据 Observable.fromCallable { Math.abs(-5) } .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .map { "9" } .

2021-07-02 13:48:49 70

原创 Rxjava创造操作符

rxjava 操作符kotlin 语法练习参考 :https://github.com/ReactiveX/RxJava/依赖 implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'io.reactivex.rxjava2:rxjava:2.2.9'经常会使用的固定式语句1、异步订阅观察者 (切换到子线程) .subscribeOn(Schedulers.io())2、排放到

2021-06-29 13:41:43 115

原创 自定义收缩TextView

公司的UI都是些大神,设计起来毫不含糊,怎么好看怎么设计,没办法只能一点点实现着(UI以后给别的团队设计估计会说 某某团队的某某以前作出过了类似的效果 ... 嘎嘎嘎 )1、根据UI设计有三个重点a、消息内容是不固定的,视长度而现实不同的效果b、收起/全文按钮与消息 content的 TextView对齐c、content textView 消息需要左右都对齐 <实现效果图>2、自己梳理出的实现思路a、全文/收起按钮的显示 ...

2021-04-16 20:19:02 160

原创 kotlin flowlayout

高级UI自定义 flowLayout 流失布局,主要是两个方法重写a、onMeasure(int, int) 确定所有子元素的大小b、onLayout(boolean, int, int, int, int) View分配所有的子元素的大小和位置github地址:https://github.com/haoda2328/flowLayout /** * 记录所有行的 view 集合 */ private var alls: ArrayList<...

2021-04-09 20:31:51 263

原创 设计模式——装饰者模式

fun main() { var ice = Ice(Water()) var tea = Tea(ice) var red = Red(tea) print(red.cost())}open abstract class BaseBeverage { var other: BaseBeverage? = null abstract fun cost(): Double abstract fun getDescribe(): String.

2021-03-26 18:09:35 84

原创 kotlin 函数 进阶

参考:https://developer.android.com/kotlin/learn我们在用kotlin时 会有 let、 with 、also 等高阶函数,点击去初看源码晦涩难懂简直无从下眼!源码also方法大概的意思是 : 万能类泛型 T 添加了 also方法, 形参是声明了的一个传值 为T的方法没有返回值,而且also方法是有返回 T的public inline fun <T> T.also(block: (T) -> Unit): T { co...

2021-03-26 16:09:03 103

原创 directBootAware 特性launcher应用

android 7.0 添加的特性 支持“直接启动”模式 android:directBootAware="true" 参考 : https://developer.android.google.cn/training/articles/direct-boot?hl=zh-cn 系统在设备锁未及时释放时 data/data/ 目录下的路径都是加密路径,此时操作磁盘数据都会出“Data directory doesn't exist for package” 的错误除了谷歌官方...

2021-03-13 15:37:05 1432

原创 Kotlin mvp 泛型 demo

Kotlin mvp 泛型 demogithub地址:https://github.com/haoda2328/mvpdemomvp模式已经出来很久了,最近用到了kotlin随即将kotlin版的泛型mvp写了一个demo,mvp相当于以mvc的主要差异是v 跟 p层的 依附,demo主要呈现了是activity 跟presenter的依附过程跟数据传递过程1、基础 BaseView 接口定义interface BaseView { fun showName(nam...

2021-03-08 22:14:46 226 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除