Android App Bundles解析

Android App Bundles是 Android 新推出的一种官方发布格式(.aab)。通过使用Android App Bundle你可以减少应用的包大小,从而提升安装成功率并减少卸载量。

Android端ORM框架调研与应用

ORM 表示全称为对象关系映射(Object Relational Mapping)。
O 可以理解为java对象
R 可以理解为关系型数据库(sqllite)
M 可以理解为从java对象到关系型数据库建立映射关系的过程

Tangram动态化方案探索

近几年跨平台动态化方案盛行,从最初的Hybrid到FaceBook出品的RN和阿里出品的Weex再到Google出品的Flutter。可以看出大厂也在不断探索更快速更高效的开放模式,毕竟技术为项目服务,项目为用户服务。只有更高效的迭代方式,才能尽可能的去提升用户体验。
目前58app的首页,详情页均可以理解为弱的跨端动态化技术,双端都支持相同的协议,根据不同的协议作出不同的UI展示和逻辑处理。而tangram实现了较强的动态化技术,及更有灵活性。可以减少发版次数。
Tangram的动态化技术并不像RN WEEX Flutter那样做到完全的动态化,Tangram更关注的是界面动态化,性能。下面我们来揭开Tangram的面纱。

View布局流程解析

说到View的布局流程我们最常说到就是onMeasure,onLayout,onDraw。onMeasure负责测量大小,onLayout负责布局,onDraw负责绘制。下面从源码的角度看一下细节。

View事件分发机制解析

权利的游戏Episode 3 of Series 8,想起《起风了》中的一句话。

起风了,唯有努力生存

无论对手多么强大,纵然被一步一步逼入绝望,我们能做唯有拼尽全力。

try catch finally与return问题

图片于2017.5泰国团建拍摄。

在开发或面试过程中我们或多或少的会遇到try catch finlly代码块中同时含有return的情况来判断return的值是多少。
不卖关子了直接总结规律。

匿名内部类使用局部变量为什么使用fianl

图片于2018.5月厦门团建拍摄

这是在网上看到的一个观点说final可增加局部变量的生命周期,当然这个观点本人不认为正确。变量的生命周期和GC相关,而GC有个java对象可达性算法有关,final没有这功能。

如何傻瓜式搭建属于你自己的博客

日常浏览github的时候,发现了 Gridea 。使用界面如下

事件驱动模型 Handler 与 Flutter future

4月11日华为在P30的发布会上,华为消费者终端业务CEO余承东公布了方舟编译器,并宣布开源,称可提升app性能。表示开发者将开发好的APK用该编译器编译一下,即可大大提升App性能。从图中可以看出原理和Android系统的Ahead of Time与Just in Time类似。有网友猜想apk通过编译器会编译成机器码。让我们拭目以待吧。