今年新的一年嘛,因为周末的特殊性所以打算周末就不做每日反思了,但是也不能什么都不做,所以还是要总结一下一周做的事情稍微做个周记的~
本周主题词
这个主题词是我从一周五天工作日时候的每日反思中选取的最合适的主题词,但是因为这是2019年的第一周执行的还不是很好而且又适逢元旦假期,所以这周的每日反思只写了4号一篇,那么主题词自然也就是长期主义了。
参考宁向东教授在《哈佛商业评论》-甦盛典上的主题演讲实录一文,我理解到长期主义最主要的还是连续性和专注力,是要在一开始就实现的大局观。
就拿程序员最理解的代码做比喻吧,架构师为什么值钱?愚以为主要就在于对大局观的把控,对连续性的预见。
本周学习及收获
- 文件头尾
为了调研一个文件尾的附加内容读取的脚本,我这边调研了文件头尾的二进制读法。主要就是两个函数,一个是将文件转化为byte[],还有一个(其实是两个函数)是byte[]和十六进制字符串String之间的相互转化,具体可以参考FileUtil.java:line 403~480
除此之外,还有一点就是对于不同文件头尾的积累,具体可以参考这篇博客:CSDN-文件头尾信息总结 - ANR检测项目
这一部分其实工作量比较大,难度也比较大。所以上周并没有完全完成。只是简单调研了一下相关的内容——首先看了一下奇虎的ArgusAPM开源项目,以及微信的matrix开源项目。最后发现这两个都不太适合,暂时作为一个备选答案。
后面继续调研,发现了四个比较公认良好的ANR检测开源项目:- BlockCanary
- ANR-WatchDog
- SafeLooper
- FileObserver
- 因为ANR检测涉及到很多底层的东西,所以我研究了一些经典的基础问题,包括一个之前大概懂了的小问题——为什么
Looper.loop()
中的死循环不会阻塞主线程?
以前得到的答案是说——loop()本身就是执行各个任务的,只有别的任务阻塞Looper的份,哪有它阻塞主线程的份?
感觉好像对劲,又好像忽略了什么关键的地方马马虎虎过去了,这次看了这篇知乎回答-Android中为什么主线程不会因为Looper.loop()里的死循环卡死?GitYuan的答案很详细很底层,有时间回顾这周任务的时候可以再好好读一次。
嘛,总之上一周毕竟是元旦刚刚结束的一周,所以可能工作量学习量不是很大,第一周想要下定决心好好执行这个每日反思和周记的计划,希望能好好执行下去啦~
本周闲谈
这一项嘛……之后再说吧?这一周可能没有太多想说的,毕竟一切还是很顺利往好的方向走了。啊想说的无非就是,剪了头发发现自己也不是很邋遢呀2333333
下周计划
下一周是2019年的第二周啦!好快呀,2019的第一周就这么结束了。
我不会定太死的计划,下周只要把《Android权威编程指南》这本书的前20章看完就好啦~
网友评论