首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Android
LetterZ
创建于2022-02-24
订阅专栏
Android
等 2 人订阅
共48篇文章
创建于2022-02-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android 布局优化
一个视图绘制到屏幕的流程大致为: 解析、构建视图对象 组装需要绘制的视图树 完成视图树中所有视图的测量、定位、绘制 GPU将视图树中需要渲染的内容解码成Graphic Buffer; Surfacef
Android 启动优化
应用的启动可分为冷启动、温启动、热启动三种模式,其中冷启动的耗时最长,一般来说启动优化针对的就是冷启动模式; 冷启动大致的过程: 点击应用图标后,Launcher进程向SystemServer进程发起
Android 记录自定义Activity栈管理遇到的一个问题
自定义Activity栈管器通过Application添加一个Activity生命周期监听,并在onActivityDestroyed时将记录移出管理栈,但是在频繁进入、退出同一页面时, 偶尔会发生旧
装饰者模式与代理模式区别
代理持有被被代理对象,装饰器继承被装饰对象 被代理对象不能被直接操作,被装饰对象可以 Android中的Context就是常见的装饰者模式; BindService获取的IBinder属于的代理模式;
Android SharedPreferences 使用注意事项
SharedPreference的内容会保留一份缓存在HashMap中,所以不要保存大数据,否则会增加GC频率; apply方法在QueuedWork.waitForFinish方法执行时,才将数据保
Android LiveData粘性,粘连,倒灌
工作机制:每次改变LiveData数据都会对数据版本号加1,并触发版本号小于数据版本号的观察者监听,触发后观察者的版本号与数据版本号一致。 粘性事件:更新数据后,观察者再订阅,新注册的观察者版本号为-
Android免代码自动初始化
原理:ContentProvider在Application执行attachBaseContext方法时,会自动触发onCreate,所以通过创建并注册自定义ContentProvider,可在onC
Android RecyclerView优化
减少onBindViewHolder内的逻辑处理,分离数据处理和视图加载过程; 尽可能使用局部刷新,减少使用全部刷新; 如果ItemView的高度是固定,设置RecyclerView.setHasFi
Android 12启动页适配
Android 12开始应用冷启动和温启动时,系统会默认先加载SplashScreen(如下布局) ,然后在应用Activity渲染第一帧得时候移除; SplashScreenView继承于Frame
Android 12适配点
增加了默认的app启动页SplashScreen;当应用targetSdkVertion>= 31时,在冷启动或温启动是,会先加载展示启动页SplashScreen,然后再显示你的Activity;目
Android Studio无法输出log的一种情况
当配置开启混淆后(minifyEnabled true),无论是Log.e、Log.w、Log.i、Log.d、Log.v都无法输出; 猜测原因在于上述方法内部调用的方法带有@hide标注; 解决方案
Android Activity内的两种数据保存
Activity内提供保存方式分为onRetainNonConfigurationInstance(以下称为方式R)和onSaveInstanceState(以下称为方式S)两种; 保存数据的方式、类
Android打包生成Jar
测试环境: idea:Android Studio 4.2.1 gradle:gradle-6.5-all.zip 执行对应module的build命令(windows电脑):gradlew :模块名
Android获取文件类型
一、 通过文件名后缀: 文件命名后缀如.jpg、.png等等一般即为文件类型,但有些时候不能保证文件后缀名一定有效,所以尝试将后缀转换成对应mime类型,方法如下: 如果转换结果返回为nul,则可以认
Android修改最近应用预览信息
每个应用的预览信息主要包括名称、图标、顶部栏颜色等。 默认情况下这些信息会先从应用栈顶Activity的manifest配置中读取:android:icon--图标,android:label--名称
Android View.post
此方法其本质也是通过调用ViewRootImpl传递过来的主线程Handler来完成消息发送、处理; 这个Handler由View的dispatchAttachedToWindow方法参数Attach
Android自定义视图清空画布
执行方法: 默认情况下,视图会在onDraw前会清空画布内容,详细见ViewRootImpl中的drawSoftware方法: 但是如果在其他位置或使用其他方式获取Canvas时可能导致之前的内容还留
Android 集成ijkPlayer问题记录
官方依赖默认不支持https请求: (1)网上找教程自己动手制作; (2)找一个别人做好的so文件直接用; 播放m3u8格式视频有画面,没有声音:很多加速播放的建议回去了较少预加载和最大探测时间,但是
Android自定义TextView,英文不换行,自定义末尾缩略提示
需求: 当文字超过限定行数时,需要在文字末尾显示“…全文”; 解决行末标点换行,和英文换行问题; 文字分块,包含多种颜色,多种点击事件(单独这个需求可以使用Spannable解决); 准备工作: 先在
Android setLayoutParams的一点注意
背景:创建自定义视图的高度是一个固定的高度,需要使xml中的定义的高度无效(自定义顶部状态栏); 过程:刚开始,我在构造函数中调用了setLayoutParams方法设定了高度,但是,发现视图加载出来
下一页