HelloVass' blog site
  • 首页
  • 案件类型
  • ╭( ′• o •′ )╭☞警察叔叔!就是这个人!
  • 犯罪过程
  • 作案手法
  • 简历
  • 捞人

花非花·关于编译需要了解什么

发表于 2020-02-13 | 更新于 2020-02-14

Android 基础编译流程

Android 工程的构建打包是一个复杂的流程,涉及工程源代码、资源文件、AIDL 文件以及工程所依赖的库文件的编译转换。

官方提供的构建流程图:

build_process

阅读全文 »

Java多线程和线程同步

发表于 2020-02-10 | 更新于 2020-02-13

new Thread

1
2
3
4
5
Thread(
Runnable {
// ignore
}
).start()

远古时期的写法,问题也很多:

  • 每次通过 new Thread 新建对象性能差
  • 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom
  • 缺乏更多功能,如定时执行、定期执行、线程中断
阅读全文 »

2019年终总结

发表于 2020-02-05 | 更新于 2020-02-07

写在最前

每到写年终的时候总是思绪万千,一到提笔,又不知道该写些啥,只能明日复明日,于是,本该在 2019年发布的年终总结还是拖到了 2020年。

阅读全文 »

Android持续集成实践·后篇

发表于 2020-01-23 | 更新于 2020-02-04

前言

距离上篇《Android持续集成·前篇》已经有些时日,这次将会填上上篇留下的大坑,pipline 构建。

阅读全文 »

Android单元测试实践和探索

发表于 2019-04-19 | 更新于 2020-02-02

为什么要做单元测试

优点

  • 当组内有强迫症的童鞋想重构某块代码时,单元测试就是坚实的后盾,想象如下对话:

童鞋A:项目里这块代码写的不优雅,我要重构

负责人:重构啊,好事啊,可以,只要你重构之后单元测试能全部运行通过。

童鞋A:…

当然,这段对话的前提是建立在单元测试的覆盖率足够高的基础上

  • 优化设计,开发者先编写测试,然后再编写代码,让代码通过测试的方式来开发业务,这也就是 TDD 开发,强迫每个开发者写出易于调试和可测试的代码,并且很好的解耦合。
  • No 文档,单元测试就是一种很好的文档,自己就展示了函数和类的使用。并且这份文档还是可以编译、运行的,与项目代码保持同步
  • 可回归,与 CI 集成之后实现了真正的敏捷开发,重构完、开发完新业务,线上运行测试,而不需要将代码再部署到真机上,然后人肉点点点。
阅读全文 »

Android持续集成实践·前篇

发表于 2019-04-04 | 更新于 2020-02-03

为什么要持续集成

人肉构建太累了

我们想做的事情

  • clone 仓库的代码
  • 静态代码检查(可选)
  • 单元测试(可选)
  • 编译打包 apk
  • 上传到测试分发平台
  • 自动化测试(可选)
  • 通知相关人员构建结果等

救救孩子吧!!!

阅读全文 »

Android组件化实践与探索

发表于 2019-04-02 | 更新于 2020-02-02

为什么需要组件化

组件化之前的项目结构

组件化之前的项目结构

  • App 工程
    • 多个业务组件
    • 一个静态的路由,依赖了所有的业务组件,业务组件可以通过 Router 暴露出来的方法跳转到其他业务组件
  • CommonLibrary
    • 多个技术组件
阅读全文 »
1234…8
HelloVass

HelloVass

简书「week.io」专题编辑,反装逼联盟首领,将著有「老油条,你除了装逼还能干些什么」、「年轻人,工作之后你应该思考些什么」、「夜深了,我的灯还亮着」等文章。

54 文章
3 分类
68 标签
GitHub jianshu E-Mail
以下完成的交♂易,来源于「轲爷的奇妙冒险」,排名不分先后,如果你也想进行交♂易或者认识这些大佬,嘿嘿:)
  • ClericYi
  • 锐哥
  • gay哈
  • 雾雾
  • xana
  • 阿乐
  • 祥哥
  • showonne
  • 枫祺玥
  • 川神
  • 右右
  • 阿温
© 2020 HelloVass
由 Hexo 强力驱动 v3.7.1
|
主题 — NexT.Mist v6.3.0