Roger's Blog

Stay hungry , Stay foolish

Android P Notification 那些你不知道的坑

The new strange behaviors in Android P Notification

Android P Notification 那些你不知道的坑 Android Pie 已经发布许久,相信大家已经做过了 Android P 版本的适配,如果不升级 Target SDK 来说的话,问题不大,基本没有什么工作量。但若是需要升级 Target SDK 到 28 的话,如果是 MESSAGE 的类型的 Notification 是有一些官方文档没提到的坑,在这总结一下: ...

Android Accessibility 的少许开发经验

Android Accessibility develop tips

Android Accessibility 的少许开发经验 What’s Accessibility 简单来说 Accessibility 就是为了让一些残障人士也能正常使用手机或 App 的基本功能,主要包括 Talkback ,视弱的支持等,具体参见:https://developer.android.com/guide/topics/ui/accessibility/ 当我们的应...

Android 追加流生成 Mp4 文件技术方案(支持中断继续)

Android Mp4 file generate note

Android 追加流生成 Mp4 文件技术方案(支持中断继续生成) 背景 Android 中 Mp4 文件的生成主要是通过 Mediacodec 将摄像头采集到的视频从 YUV 格式转成 h264 ,再通过 MediaMuxer 将 h264 的视频流生成 mp4 文件,这个过程就不在赘述了, Google 一搜一大把,其中需要注意的是在将 YUV 数据送入 Mediacodec 中之...

读书笔记《如何成为一个很厉害的人》

Book Note

就怕你庸庸碌碌的过完一生,还安慰自己平凡可贵 三月份来到厦门后,工作越发的繁忙,一周两次发版,周三周五固定加班,然而却没有一丝的疲惫,为什么?因为做的是有意思的事情,每天看着项目一点点的完善,交互越来越好,动画越来越流畅,那种成就感和满足感,它让你感受到当下存在的意义,而不会为虚度年华而焦虑痛苦万分,也许挣不到很多钱,但这些经历和经验,就是对时间最好的交代。 或许是因为换了工作和城市的适...

一个页面需要滑动才能加载数据的BUG

Bug note

一个页面需要滑动才能加载数据的BUG 今天遇到了一个页面需要滑动才能加载出数据的神奇问题~ 努力排查后发现,由于是在非主线程调用了 RecycleView 的刷新,造成了列表的卡顿。 公司在项目前期使用了很多的 RxJava,造成很多的回调,其中的业务逻辑乱飞,各个回调方法运行在哪个线程很难判断,可读性极差,稍不注意就会造成在业务线程调用 UI 更新。 如果直接操作控件应该就会报一个...

图解 HTTP 要点记录

HTTP协议复习

图解 HTTP 作为 Android 开发人员,HTTP 的相关知识是很重要的一块。《图解 HTTP》是我见过读起来最舒服的一本技术书籍,虽然不像《HTTP权威指南》,《TCP/IP详解》这两本网络圣经来得出名,但是对于不必深刻深入的初学者来说,《图解 HTTP》应该是为最适合的一本书籍。文中大量的图片重在让大家理解其中的原理内容,读起来毫不生涩,非常容易理解。 第一章 基本介绍 ...

Binder 复习笔记

Binder 的解剖过程

关于 Binder 的一些知识点 Binder 作为 Android 底层最重要的 IPC 的方式,其重要性不言而喻,而它所覆盖的知识点又非常的复杂繁琐。记录一下关于 Binder 的一些知识点和要点,以便将来复习方便。 Binder 的作用是什么? 在 Android 启动的时候,Zygote 进程孵化出第一个子进程叫 SystemServer,很多的系统服务...

Goodbye 2016 , Hello 2017

Keep Going Roger

时间是把刀 时间是把刀,每个人都在用这把刀雕刻自己的人生,刀都一样,区别是人. 有人使成了杀猪刀,一刀一刀砍碎梦想,随波逐流. 有人使成了雕刻刀,一刀一刀雕刻自己,静水深流. 你的刀、想怎么使? 今天是元旦假期的最后一天,此时此刻我正在隔壁晒太阳,看着那只蠢猫在边上蹦来跳去的,想想这一年来的得失,于是打开了 Atom(文本编辑器),写一写过去365天的成长和思考。 我的第一篇博客是 ...

关于线程同步的一些小记

Keep Learning

关于线程同步的一些小记 多线程同步作为基础还是很重要的,在面试中基本作为必备问题,然而在平时的 Android 开发中使用的频率却不是很高,因为一个 synchronized 关键字即可帮我们解决绝大部分情况,但是如果在面试中仅仅回答 synchronized 就略显单薄了,这里记录一下关于多线程同步的一些点。 1.synchronized 最强大最方便的线程同步方法 synchron...

Android 插件化框架 DroidPlugin 学习笔记

Keep Learning

Android 插件化框架 DroidPlugin 学习笔记 上一篇我们对 DL 框架的思路进行了一些总结,总的来说就是通过一个代理的 activity 作为傀儡来控制插件 activity 的生命周期,通过 AssetManager 的隐藏方法 addAssetPath 来解决加载资源的问题。但是同时,DL 框架存在的缺点就是比较依赖 that 语法,开发插件程序和主程序的代码需要单独区...