DeepSeaEel's Blog

Stay hungry , Stay foolish

一个页面需要滑动才能加载数据的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 语法,开发插件程序和主程序的代码需要单独区...

Android 插件化框架 DL 学习笔记

Keep Learning

Android 插件化框架 DL 学习笔记 早在两年前, android 的插件化技术就火得不行,一直只是浅略的翻看一些博客,没有深入研究其原理及其所使用到的新技术,这段时间恶补了一下这方面的知识,准备在博客中记录一下,做一些输出,加深理解。 Android 的插件化技术现在比较火的,比较完善的框架有两套,第一个是任玉刚大神写的 DL 框架 Link ,第二个是 360手机助手的一种新的...

使用 Samba 共享虚拟机文件夹

安装过程详解

使用 Samba 共享虚拟机文件夹 如果需要编译 Android 源码的同学应该了解在虚拟机中编译的痛苦。 所以今天尝试使用 Samba 共享虚拟机的文件夹到 Windows 中,方便开发和管理。 安装 samba apt-get install samba 如果遇到了什么依赖树的错误,则先卸载 samba apt-...

初识 tinker

tinker牛刀小试

初识 Tinker 昨天中午微信开源了动态修复解决方案 tinker :https://github.com/Tencent/tinker 是不是激动人心的想要试一下呢?下面记录一下如何运行 tinker 的 Demo 工程。 首先下载 tinker 的工程,打开 tinker-sample-android 工程,打开后如下图: 阅读 WIKI ,里面有各种参数的说明和 Demo...

《代码整洁之道》读书笔记

如何写出更好的代码

布朗法则 :Later Equals Never 多少次我们为了进度写下一堆又一堆的烂代码,当每一次运行通过后是不是想着“先这样吧,后面再优化”,但是 later equals never 。或许这就是优秀和平庸的区别,细节决定成败。 代码质量与其整洁度成正比,而且与代码质量紧密相关。 第一章 整洁代码 什么样的代码才是整洁的代码? 能通过所有的测试。 没有重复代码。 ...