OOFTF Blog

「美好的事情即将发生」

编译

解析与填充符号表; 注解处理器; 语义分析与字节码生成: 标注检查 数据及控制流分析 解语法糖 泛型与类型擦除 自动装箱、拆箱与遍历循环 条件编译 字节码生成

Lint

lintOptions配置项 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 android { lintOptions { // tr...

沉浸式

去除ActionBar Activity requestWindowFeature(Window.FEATURE_NO_TITLE) 这种方式并不起作用 hide 1 2 Activity.actionBar?.hide() Activity.supportActionBar?.hide() 这种方式虽然可以隐藏掉 ActionBar 但是在5.0(...

从int.max_value + 1 = 2147483648了解int

为什么Int.MAX_VALUE最大值为2147483647 Java Int储存为4个字节,每个字节为8位 得知 Int一共有32位,最高位表示符号正负,有31位表示数值,因此最大Int的二进制位 01111111111111111111111111111111 转化为十进制: 2的31次方-1 = 2147483647 Int.MAX_VALUE + 1 的底层运算 Int.MAX_V...

Java基础

Java 会继承静态方法吗

Gradle Plugin

如何编写一个 Gradle 插件 项目结构 build.gradle ### 1 2 3 4 5 6 7 8 apply plugin: 'groovy' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) //gradle-api-6.7.1 对应 gradle/wrappe...

卡顿

卡顿的原因有哪些 主线程执行耗时操作 频繁GC 导致stop the world 算法过于耗时 渲染过于复杂 卡顿检测 卡顿监测 监测原理 利用AOP对方法进行插桩,计算方法执行时间 循环向主线程Looper post事件计算post和handle时间差 寻找卡顿原因 StrictMode TraceView 已弃用 改为 Profiler CP...

Crash

名词 UV(Unique Visitor)独立访客 PV(Page View)访问量 Hardcoder(待学习) Native崩溃 这部分比较难,现在还不是很了解,没有自己的见解,后续补上 JAVA崩溃 为了减少崩溃率,而采用所有地方都封装一层try Catch达到减少崩溃率的目的,而不管异常表现的处理方式,是不可取的。至少应该将catch到的异常上传到服务器进行分析 ...

UI Optimization

UI优化 在系统框架下优化 布局优化、使用代码创建、View缓存等。我们希望减少甚至省下渲染流水线里的某个耗时阶段 布局优化 避免过度绘制 检测过度绘制:开发者选项 -> 调试GPU过度绘制,来打开该功能,来查看是否出现了过度绘制。 原色:没有过度绘制 蓝色:过度绘制1次 绿色:过度绘制2次 粉色:过度绘制3次 ...

Lks Recommend Websit

第七期:BV1bU4y1x7A1 行业报告 http://report.seedsufe.com/#/report 世界之声 https://aporee.org/maps/ 商用图片 https://www.pexels.com/zh-cn/ 抠图【1】 https://www.remove.bg/ 抠图【2】 http://waifu2x.u...

Four Major Components

四大组件 Activity Service BroadcastReceiver ContentProvider Android的四大组件中除了BroadcastReceiver意外,其他三种组件都必须在AndroidManifest中注册 显示Intent可以分为显示Intent和饮食Intent,显示Intent明确的指向一个Activity组件,...

多进程

Process 什么是进程 进程系统进行资源分配和调度的基本单位,是程序在内存中的实例;进程之间内存相互独立 多进程应用的优点 Android 对单个进程是有内存大小限制的,多进程可以申请更多的总内存,减少单个进程占用内存的大小 进程间崩溃不会相互影响 APP保活(前台进程优先级比较高;进程优先级越高、单个进程占用内存越小被杀死的优先级越小) 常见的多进程案例 将 ...