首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
android
订阅
沐沨1128
更多收藏集
微信扫码分享
微信
新浪微博
QQ
31篇文章 · 0订阅
Kotlin+Coroutines+Flow+LiveData+Glide算法重构Luban
Luban是基于Android原生图片压缩框架,主打特点是近乎微信的图像采样压缩算法。由于技术迭代,已经不能满足产品需求。下面为核心压缩实现,并根据代码列出鲁班存在的问题: 利用LiveData来实现监听,自动注销监听。 当我们修改图片后缀或者没有后缀,Glide依旧可以正常解…
JetPack-Compose - Flutter 动态UI?
2018-06月左右入坑Flutter,于是拿出美团和痘印等好看的界面感受了一波Flutter UI和绘制等写了三天的Demo也感受到了Flutter强大,当时匆匆忙忙就写了相关Demo上传了Github。不知不觉Github很多Star很开心,接着决定进行录制基础教学视频,在…
使用CoordinatorLayout打造各种炫酷的效果
AppBarLayout必须作为CoordinatorLayout的直接子View,否则它的大部分功能将不会生效,如layout_scrollFlags等。 layout_scrollFlags=“snap”的时候 在Scroll滑动事件结束以前 ,如果这个View部分可见,那…
基于Android的MVI架构:从双向绑定到单向数据流
现在从事Android开发多少都要懂点架构知识,从MVC、MVP再到MVVM,想必大家对于其各自的优缺点早已如数家珍。今天介绍的MVI与MVVM非常接近,可以针对性地弥补MVVM中的一些缺陷 Model: 与其他MVVM中的Model不同的是,MVI的Model主要指UI状态(…
Kotlin Flow 开发应用实践之倒计时
现在因为有了协程和Flow,我们可以借助Flow这个工具,更加优雅地实现这个需求功能. 利用Flow实现整个流程更加流程和优雅,CoroutineScope默认使用GlobalScope,考虑到内存泄漏,建议使用lifecycleScope,更好地实现生命周期管理,避免内存泄漏.
Android 圆角图片RoundImageView(Canvas.drawDoubleRoundRect)
使用Google官方提供的控件CardView卡片式布局,这个控件提供了圆角半径设置和阴影效果。不过使用需要注意系统版本。 图层覆盖、以及重新绘制(BitmapShader、Xfermode、RoundedBitmapDrawable)具体细节见Android圆角图片和圆形图片…
聊聊获取屏幕高度这件事
问题的起因是我发现 PopupWindow弹出位置不正确时发现的。其实早在两年多前,我就发现我手上的小米MIX2s 获取屏幕高度不正确...
自定义IndicatorView和ViewPager2+Fragment联动实现
1. 绘制多个圆 2. 与ViewPager2联动 3. Indicator小圆点的点击事件 思路:监听ACTION_DOWN事件,获取点击屏幕的坐标,与所绘制的圆位置作比较,若点击区域在圆的范围内,就点击了该Indicator,点击后切换ViewPager到相应界面。 4. …
Android线上轻量级APM性能监测方案
如何衡量一个APP性能好坏?直观感受就是:启动快、流畅、不闪退、耗电少等感官指标,反应到技术层面包装下就是:FPS(帧率)、界面渲染速度、Crash率、网络、CPU使用率、电量损耗速度等,一般挑其中几个关键指标作为APP质量的标尺。目前也有多种开源APM监控方案,但大部分偏向离…
女儿拿着小天才电话手表问我App启动流程
“爸爸爸爸,你说我玩的这个小天才电话手表怎么这么厉害,随便点一下这个小图片,这个应用就冒出来了,就可以听儿歌了。好神奇啊。” 小天才电话手表的系统就是Android,所以这不就是。。面试官常考的应用启动流程嘛! 好了,既然女儿问了,那就答吧。 女儿,你可以把手表里面想象成一个幼…