Android 开发周报:Android TV 今春将现身索尼等产品

  • 郭亮

2015 年 1 月 8 日

话题:Android语言 & 开发架构

新闻

  1. 《大众汽车将支持 Android Auto》:Google 在去年发布了安卓系统的分支 Android Auto,专用于汽车,和苹果的 CarPlay 展开竞争。目前越来越多的汽车厂商加入了 Google 的汽车开放联盟,采用 Android Auto。现在,大众汽车也要支持 Android Auto 了!大众将会在今年推出支持 Android Auto 的车型,高尔夫等著名车型都会支持 Android Auto。
  2. 《面向 Android 平板的 Office 预览版现全面开放》:在今年 11 月微软限量发布了针对 Android 平板的 Office 预览版本,只有少量注册用户才能访问使用。在经过数月反馈信息的收集,微软今天正式宣布面向所有 Android 平板用户开放 Office 预览版本,从而尽可能的收集更多反馈信息,为正式版发布做最后的准备。
  3. 《Android TV 今春将登陆索尼、夏普、飞利浦产品》:在去年 6 月份举行的 Google I/O 大会上,谷歌发布了最新版本的 Android TV 智能电视操作系统,并于去年年末在自己的 Nexus 播放器上推出了该系统,使之首次与消费者见面。谷歌周二宣布,今年春季,谷歌的 Android TV 系统将登陆到索尼、夏普、飞利浦等厂商电视产品上。

教程

  1. 《如何定位 Android NDK 开发中遇到的错误》:Android NDK 是在 SDK 前面又加上了“原生”二字,即 Native Development Kit,因此又被 Google 称为“NDK”。NDK 编译生成的.so 文件作为程序的一部分,在运行发生异常时同样会造成程序崩溃。不同于 Java 代码异常造成的程序崩溃,在 NDK 的异常发生时,程序在 Android 设备上都会立即退出。文中作者介绍了如何利用调试工具定位 NDK 开发中遇到的错误。
  2. 《Android 中 Handler 引起的内存泄露》:当 Handler 作为内部类使用的时候,会引起内存泄漏,文章中详细分析了引起内存泄漏的整个过程。要解决这种问题,思路是继承 Handler 时,需要把 Handler 放在单独的类文件中或直接使用静态内部类。因为静态的内部类不会持有外部类的引用,所以不会导致外部类实例的内存泄露。
  3. 《将 App 从 Holo 升级到 Material Design》:Google 自家的应用都已经使用了 Material Design 风格。Material Design 堪称是超越 iOS 的设计。将你的应用升级到 Material Design,已经是迫在眉睫的事情了。开发者可以参考该作者的升级方法去升级自己的应用。整个升级过程中 UI 的工作量并不大,但开发人员需要使用一些新的技术。
  4. 《Android NDK 开发—C 代码回调 Java 代码》:作者通过一系列的文章介绍了 Android NDK 开发的相关知识,介绍了 Java 层是怎样传递数据到 C 层代码,以及一些基础 NDK 开发知识。该文章主要介绍 C 语言如何调用 Java 层的代码,如何做到当 C 语言层完成了一系列操作后去通知 Java 层。
  5. 《Android 内存泄漏研究》:Android 内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到 gc roots 导致无法被 GC 回收。无用的对象占据着内存空间,使得实际可使用内存变小,形象地说法就是内存泄漏了。文章中介绍了内存泄漏的一些场景,并且提供了预防措施,还介绍了两种检测技术。
  6. 《Gradle 命令详解与导入第三方包》:Android Studio + Gradle 的组合用起来非常方便,很多第三方开源项目也早都迁移到了 Studio,该文是 Gradle 系列文章第五篇,介绍了 Android Studio 查看、编译并导入第三方开源项目的方法。
  7. 《正确使用 Android 性能分析工具——TraceView》:Android 自带的 TraceView 堪比 Java 的性能调优工具 visualvm 线程视图,可以方便的查看线程的执行情况,某个方法执行时间、调用次数、在总体中的占比等,从而定位性能点。文章中介绍了 TraceView 的使用方法,基本涉及到了 TraceView 的所有知识。

开源项目

  1. awesome-android-ui—UI 汇总:值得所有开发者收藏的神汇总!Github Start 数已经达到 2500+。项目汇总了大量经典 UI 效果,Material Design、手势、动画、ListView、瀑布流等等,并且每个项目都配了 Demo 图片,作者真是用心,感谢作者造福所有开发者。
  2. AndroidLocalizationer:一款 Android Studio/ IntelliJ IDEA 插件,可以帮助开发者将资源文件中的 string 文件自动翻译为其它语言,真正实现一键国际化。有了此神器,再也不用进行粘贴、复制、翻译等繁琐的工作,只需要校对。
  3. ErrorView:一个能够显示图片、主标题、副标题的自定义页面,可以作为 Http 请求失败时显示的友情提示页。开发者可以替换掉项目中的图片、文字。

感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

Android语言 & 开发架构