自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 日夜间及换肤(二)-原理分析

文章目录官方原理第三方库实现原理原理分析(SdkVersion = 29)我们要怎么做?具体实现原始地址:日夜间及换肤(二)-原理分析官方原理在官方的推荐方法中,我们发现了每次设置完Mode或者Theme都需要recreate()才会生效,这是为什么呢? /** * Cause this Activity to be recreated with a new instance. This results * in essentially the same flow as wh

2021-08-03 12:11:40 362

原创 日夜间及换肤(一)-常用技巧

文章目录总览UIMode实现设置Activity主题实现动态设置资源,控制view刷新对比原地址:日夜间及换肤(一)-常用技巧总览实现日夜间的方式有多种,基本可以整理如下:设置UiMode来设置对Activity设置主题来变换动态设置资源,控制view刷新UIMode实现在value的同级目录下新建一个values-night的目录,其中新建colors.xml文件,themes.xml文件等需要日夜间切换比如colors文件,需要将color所对应的名字保持一致,只进行颜色

2021-08-03 12:08:55 189

原创 2021年4-5月大厂面试题

京1:butterknife原理,R2文件?Handler异步消息,同步屏障?同步消息?looper.perpare()何时创建?message.obtain()?Vsync,垂直同步信号?UI滑动渲染优化?内存泄漏?leakcarray原理?oom的条件?开辟多个线程导致oom?bitmap的存储形式在系统中的存储?存储在哪?布局优化?LinearLayout draw几次?IPC机制,binder机制的理解?为什么使用线程池?(一个服务端对多个客户端)flutter渲染

2021-06-10 14:39:18 2781 1

原创 Android优化————布局优化

绘画原理Android的绘制主要是借助cpu和gpu结合刷新机制共同完成的cpu:负责执行measure、layout等方法,计算显示内容gpu:负责栅格化(将UI元素绘制在屏幕上)绘制过程使用skia库(2D),硬件本质是采用openGL库进行绘制16ms内渲染一次,否则会掉帧布局加载原理Android中的布局加载入口为setContentView(),分析如下: @Override public void setContentView(@LayoutRes int layo

2021-06-10 14:38:41 480 1

原创 Android优化————启动优化

app启动过程点击图标启动LauncherApp通知AMS进行启动,LauncherActivity onPauseAMS新建app进程,创建ActivityThread,创建ApplicationThread通过ApplicationThread向AMS注册Binder执行Application的onCreate方法新建进入的Activity执行Activity的onCreate方法,进行UI绘制等操作启动分类冷启动:从点击应用图标到UI界面完全显示且用户可操作的全部过程。Cl

2021-06-10 14:38:07 124 1

原创 Android优化————包体积优化

优化好处包体积减小,易于升级多市场渠道有体积限制,避免二次处理apk安装时间减小运行时内存占用小磁盘空间占用小,odex二进制文件小。APK组成及分析APK组成assets: 开发目录下assets目录lib:所需要的so库META-INF:签名文件okhttp3:okhttp网络相关org:org相关信息res:布局信息,对应开发目录res下AndroidManifest:四大组件配置classes.dex:代码压缩文件apk分析使用常规apktool方法

2021-06-10 14:37:26 365

原创 Android优化———内存优化

Java虚拟机Java内存模型虚拟机栈(线程私有):局部变量表、操作数栈、动态链接、方法出口等信息堆(线程共享):实例对象方法区(线程共享):类信息,常量,即时编译器编译后的代码程序计数器(线程私有):字节码行号指示器,记录当前线程执行到多少行本地方法栈(线程私有):和虚拟机栈类似,两者的区别就是虚拟机栈是为虚拟机执行java方法服务,本地方法栈为虚拟机执行native方法服务 。程序计数器线程计数器中如果正在执行java方法,计数器记录的是当前指令的地址,  如果是Nat

2021-06-10 14:36:42 130

原创 android EditText光标和下划线设置

android studio 改变EditText光标颜色,隐藏下划线

2017-03-08 18:19:20 808

原创 Fragment重写有参构造报错

Fragment重写有参构造,出现错误,需要添加@SuppressLint("ValidFragment")标注

2017-03-02 18:26:09 546

空空如也

空空如也

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

TA关注的人

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