更上一层楼-Android研发工程师高级进阶

ASCE1885的移动开发技术周报(第一期)

毫不费力就到嘴的食物,不是毒药,就是诱饵。---《狼图腾》

精彩博文

1)炫丽的进度条Loading动效

前两天我们这边的头儿给我说,有个 gif 动效很不错,可以考虑用来做项目里的loading,问我能不能实现,看了下效果确实不错,也还比较有新意,复杂度也不是非常高,所以就花时间给做了

2)跨平台开发时代的 (再次) 到来?

这篇文章主要想谈谈最近又刮起的移动开发跨平台之风,并着重介绍和对比一下像是 Xamarin,NativeScript 和 React Native 之类的东西。不会有特别深入的技术讨论,大家可以当作一篇科普类的文章来看。

3)OKHttp源码解析

Android为我们提供了两种HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP请求的需求。但更高效的使用HTTP可以让您的应用运行更快、更节省流量。而OkHttp库就是为此而生。

4)Google+ 团队的 Android UI 测试

Google+ 团队总结了一些 UI 测试时的经验和策略。

5)Android中保存和恢复Fragment状态的最好方法

经过这几年使用Fragment之后,我想说,Fragment的确是一种充满智慧的设计,但是使用Fragment时有太多需要我们逐一解决的问题,尤其是在处理数据保持的时候。

6)Android 编程下 Touch 事件的分发和消费机制

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。

7)Android NDK开发Crash错误定位

在Android开发中,程序Crash分三种情况:未捕获的异常、ANR(Application Not Responding)和闪退(NDK引发错误)。其中未捕获的异常根据logcat打印的堆栈信息很容易定位错误。ANR错误也好查,Android规定,应用与用户进行交互时,如果5秒内没有响应用户的操作,则会引发ANR错误,并弹出一个系统提示框,让用户选择继续等待或立即关闭程序。并会在/data/anr目录下生成一个traces.txt文件,记录系统产生anr异常的堆栈和线程信息。如果是闪退,这问题比较难查,通常是项目中用到了NDK引发某类致命的错误导致闪退。

8)Android&Gradle集成NDK开发

介绍了如何在Android&Gradle开发环境中集成NDK,并使用自定义的android.mk进行编译。

9)iOS图片加载速度极限优化—FastImageCache解析

FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的。

开源函数库

1)Fresco

Facebook最近开源的功能强大的Android平台图片请求和加载函数库,主要特性如下:

  • 为了节省流量和CPU,提供了三级缓存:两个内存缓存和一个内部存储缓存
  • 支持类似网页JPEG图片的渐进式加载
  • 支持GIF和WebP格式
  • 支持多样式显示,如圆角,加载进度条,点击重试等

2)Sweet Alert Dialog

漂亮的Android对话框实现,交互及动画效果很赞。

3)AndroidDevTools

超级棒的Android开发工具网站,收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。