Android线程的正确使用姿势

线程是程序员进阶的一道重要门槛。对于移动开发者来说,“将耗时的任务放到子线程去执行,以保证UI线程的流畅性”是线程编程的第一金科玉律,但这条铁则往往也是UI线程不怎么流畅的主因。我们在督促自己更多的使用线程的同时,还需要时刻提醒自己怎么避免线程失控。除了了解各类开线程的API之外,更需要理解线程本身到底是个什么样的存在,并行是否真的高效?系统是怎么样去调度线程的?开线程的方式那么多,什么样的...

搭建数据驱动型Android架构

之前的文章里介绍了如何搭建iOS平台下的数据驱动型架构,iOS和Android系统在平台特性和应用场景下其实有很高的相似性,在不少架构的整体实现思路上基本都一致,只是由于语言特性的差异在实现方式上会有些不同而已。简而言之,内功心法一致,变的只是招式。这里我们用相同的思路来搭建Android系统平台下的DDA(Data Driven Architecture)架构。附GitHub Demo地址...

iOS,Android网络抓包教程之tcpdump

现在的移动端应用几乎都会通过网络请求来和服务器交互,通过抓包来诊断和网络相关的bug是程序员的重要技能之一。抓包的手段有很多:针对http和https可以使用Charles设置代理来做,对于更广泛的协议可以使用tcpdump或者wireshark。wireshark提供GUI,方便做深入全面的数据分析。tcpdump则输出原始的包内容,好处是快速高效,之前写过一篇简单的微信红包图片的破解教程...

Android UI性能优化详解

设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI。UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计。无论你的app UI是简单还是复杂,重要的是性能一定要好。 UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样。你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否...