Android开发技术周报 Issue#63

新闻

  1. 谷歌做了一个艰难的决定:安卓系统不再用甲骨文的私有 Java API 了

    12月 29 日有人在 Hacker News 上爆料,安卓代码库中出现了神秘的代码提交(commit),修改了 8902 个文件,大家开始猜测,谷歌这是要用 OpenJDK 换掉 Android 系统中在用的 Java API。至于为什么会有这个决定,建议看看伯乐在线的这篇文章《(甲骨文)紧咬 9 行代码,索赔超 10 亿美元》

教程

  1. 深入理解Android(三):Xposed详解

    Xposed,大名鼎鼎得Xposed,是Android平台上最负盛名的一个框架。在这个框架下,我们可以加载很多插件App,这些插件App可以直接或间接操纵系统层面的东西,比如操纵一些本来只对系统厂商才open的功能(实际上是因为Android系统很多API是不公开的,而第三方APP又没有权限)。有了Xposed后,理论上我们的插件APP可以hook到系统任意一个Java进程(zygote,systemserver,systemui好不啦!)。

  2. Android 中如何计算 App 的启动时间?

    事实上 Android 中一个 App 的启动时间可以准确计算的.但是要分场景.也就是说要分开游戏和应用. 大家都知道,在Android中,游戏开发和应用开发是两码事.所以我们需要分开来说.我们平时在写应用的时候,一般会指定一个 mainActivity ,用户在桌面上点击这个 Activity 的时候,系统会直接起这个 Activity. 我们知道 Activity 在启动的时候会走 onCreate/onStart/onResume .这几个回调函数.

  3. Android夜间模式最佳实践

    如何优雅地实现夜间模式?在Android应用普遍支持夜间模式的今天,本文作者马俊同学,分析了业界主流的方案, 同时也通过自己的研究,发现了一个维护成本相对较小的方案,让我们一起看看。由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验。目前越来越多的应用开始把夜间模式加到自家应用中,没准不久google也会把这项功能添加到Android系统中吧。

  4. 微信Android客户端架构演进之路

    去年7月,笔者在InfoQ举办的ArchSummit深圳2014的架构师峰会上,分享了微信Android客户端的架构演进史。可以说,这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史。互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化。今天在这里,重新和大家回顾微信客户端架构的演进过程,以及其背后的开发团队、流程的变化与思考。

  5. 途牛Android App的插件实现

    Android插件化进行得如火如荼,各大名企相继开源其开发框架。不得不说,无数的技术大牛让我们敬仰。途牛的APP插件化到目前发布了多个版本,已经相对稳定,这里就叙述下途牛的APP插件化。途牛的插件化是基于dynamic-load-apk(github)实现的。定义了宿主和插件的通信方式,使得两者能够互起对方的页面,调用彼此的功能。

  6. 给创业码农的话--如何提升开发效率

    为了App不卡顿,我们会把所有耗时的操作(比如:网络访问、文件访问)放到Worker Thread中。但是Android本身的AsyncTask的设计个人觉得设计的十分糟糕,不但写出来的代码冗长,而且稍微复杂一些的多流操作就会写的完全无法维护(这里可以用Java本身的线程模式来实现)。而且肆意的开线程也会造成App的卡顿。这里本身最初的想法就是需要一个线程池,以Promise的方式对外提供接口。

  7. Android应用启动优化:一种DelayLoad的实现和原理(下篇)

    上一篇文章我们使用第三种方法来实现延迟加载。不过上一篇写的比较简单,只是讲解了如何去实现,这一篇就来讲一下为何要这么做,以及这么做后面的原理。其中会涉及到一些 Android 中的比较重要的类,以及 Activity 生命周期中比较重要的几个函数。其实这个其中的原理比较简单,不过要弄清楚其实现的过程,还是一件蛮好玩的事情,其中会用到一些工具,自己加调试代码等,一步一步下来,自己对
    Activity 的启动的理解又深了一层,希望大家读完之后也会对大家有一定的帮助。

  8. Android 各种Span

    在 android.text.style 包下,有一些 Span 类,可以提供我们完成一些在 TextView 中的特殊内容。(比如:部分内容颜色、字体、大小不同等等,更有部分字体可点击。)还有一个SpannableStringBuilder,可以帮助我们设置
    Span。

  9. 关于网络延时的一次深度研究

    前几天群里的朋友突然都关心起网络延时的问题来,一方面大概是因为现在许多的应用都逐渐变得对延时更加敏感,另一方面大概也因为许多网络厂商的各种低延迟的宣传让大家心生疑惑:到底我们需要多少的网络延时而实际网络又能提供多少的延时性能。

  10. 如何选择正确的HTTP状态码?

    众所周知,每一个HTTP响应都会带有一个状态码,不过对于很多开发者来说,平时使用最多的几个状态码无外乎就是200、400、404、500等。那其他众多状态码该应用在何种场景中,什么时候应该使用哪些状态码就成为一个值得我们深入思考的问题了。即便在Facebook这样的公司中,那些聪明的开发者所构建的API也可能只返回200。

  11. 前谷歌首席 Java 架构师谈如何设优秀的 API

    随着大数据、公共平台等互联网技术的日益成熟,API接口的重要性日益凸显,从公司的角度来看,API可以算作是公司一笔巨大的资产,公共API可以捕获用户、为公司做出许多贡献。对于个人来说,只要你编程,你就是一个API设计者,因为好的代码即是模块——每个模块便是一个API,而好的模块会被多次使用。此外,编写API还有利于开发者提高代码质量,提高自身的编码水平。

开源库&项目

  1. OnActivityResult

    一个可以通过注解来处理 OnActivityResult 方法的不同情况的库。

  2. AndroidEspressoIdlingResourcePlayground

    一个用 Espresso 2 和 Dagger 2 做 Android Testing 的练习实践项目。

  3. Vineyard

    一个 Vine 的非官方 Android TV 客户端应用。

  4. DragScaleCircleView

    一个可拖动可缩放大小的自定义View。

  5. MathView

    一个可以在你的 App 里显示数学公式的库。

  6. FileDownloader

    Android 文件下载引擎,稳定、高效、简单易用。

工具

  1. DebugDrawer

    Android Debug Drawer for faster development。

  2. ADB Shell

    一个 ADB 命令详解网站。

视频

  1. 手机淘宝的客户端架构探索之路

    手机淘宝是阿里集团在移动互联网战场的重要布局,不同于支付宝的强工具性和来往的重IM化,手机淘宝体现的是一个高度多样化的生态,它承载了大淘宝业务群之中几乎所有的业务形态。客户端底层架构如何支撑如此灵活多样的业务,并顺利接入整个集团10多个不同团队开发的客户端代码,无缝集成在同一个App内,还能确保这个App的质量和性能,对手机淘宝的客户端底层架

设计

  1. 非科班出身的知名Facebook产品设计师教你初识产品设计!

    产品设计到底是什么?怎么来设计一个产品?Stephanie Engle,大学读的是公共政策专业却在Facebook做产品设计,看看一个非科班出身的人对于产品设计的理解。内含一个CASE STUDY :)

技术之外

  1. 如何设计你的2016年年度计划

    这两年,我一直非常感恩,也特别幸运的是2015年我的身体能够好起来,能够有机会回到我最热爱的工作中,所以从年初在医生的许可下,逐渐恢复工作开始,一方面告诉自己一定要把工作做好,一方面也时时提醒自己要保持好的心态,照顾好自己的身体、家人的健康。

  2. 我的销售概念与方法论

    大学毕业之后,会计专业的我去做了销售,为什么呢?因为我真没学会会计这个专业(你看,肯定也有我学不会的事情)…… 另外一个原因是,销售是个没有门槛的工种,尤其是“一线推销”这种工作,只要你肯干就行。别看卖东西这事儿其实谁都能做,卖得好就和做得好任何事情一样,做到顶尖的人少之又少。刚开始的时候,我怎么能想象销售竟然会成为我一生的专长,甚至专业呢?压根就没有想过。

版权声明:欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0

时间: 2024-10-11 13:18:41

Android开发技术周报 Issue#63的相关文章

Android开发技术周报 Issue#69

新闻 Android N或取消应用抽屉 设计更趋近iOS 设计也在进化 对升级速度忍无可忍 谷歌或将收回安卓控制权 坑否 Google为手表App开发者推出了Google Play Services中国特别版 看起来很美好 Google发布J2ObjC 1.0:将Java转换为Objective-C 黑科技 2020年的Android系统会是什么样? 可能是非常酷的 教程 Android开发:最详细的 Toolbar 开发实践总结 详解有图有代码 Facebook如何采集其Android应用性能

Android开发技术周报 Issue#66

好消息,Android 开发技术周报开通了邮件订阅,赶快来订阅吧,订阅请戳我戳我戳我,还有还有现在也可以推荐资源给Android开发技术周报了,推荐资源请戳我戳我戳我 新闻 在 Google 看来,应用商店都将消亡,而搜索永存 搜索才是王道,让用户在 Google 搜索结果里直接安装 App 教程 Android Scroller完全解析,关于Scroller你所需知道的一切 郭神新作,详解 Scroller Android应用安全开发之源码安全 实用 APK 反调试技巧 如何自学Android

Android开发技术周报 Issue#27

教程 Android开发技术前线第五期 (@MrSimp1e) 深入Android图形管道.Romain Guy的性能优化案例.图片加载框架Glide.模仿iOS的模糊视图,都是些不错的文章. Android内存优化之MAT工具使用教程系列 (@高建武_Gracker) 正所谓工欲善其事,必先利其器,在对Android应用进行内存优化MAT(Memory Analyzer Tool)是一把必不可少的利剑,MAT一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具

Android开发技术周报 Issue#64

教程 AndroidFlux-异步请求和网络 在移动开发中,异步网络操作必不可少,本篇着重介绍在Flux模式中如何处理异步操作的问题,并深入一些细节,比如如何在异步操作时显示异步状态.另外,网络操作仅仅是异步操作的一种,最后扩展ActionCreator的语义来处理更多的业务逻辑. Tricking Android MemoryFile MemoryFile是android在最开始就引入的一套框架,其内部实际上是封装了android特有的内存共享机制Ashmem匿名共享内存,简单来说,Ashme

Android开发技术周报 Issue#23

教程 Android精选话题讨论与面试题集锦 由@Trinea发起的,大家的共同参与和维护,目前“Android 面试题集锦及解答” 已有 63 个 Issues,近 400 Star.另外我们将一部分精彩话题移到“Android 精选话题讨论”下讨论 http://t.cn/RwgpkQh 每天逛 GitHub 会成为更多开发的习惯. RecyclerView Bug:IndexOutOfBoundsException: Inconsistency detected. Invalid item

Android开发技术周报 Issue#24

教程 细数Android系统那些DOS漏洞 Android系统存在一些漏洞可导致系统重启,当然让系统重启只是一种现象,这些漏洞有的还可以权限提升.执行代码等.本文以重启这个现象为分类依据,牵强的把这些漏洞放在一块来看.下面对这些漏洞的成因和本质进行简单的分析,并尽量附上编译好的poc和漏洞利用演示视频. Android安全系列 此系列包含:Android Activtity Security.Android Content Provider Security.Android Broadcast

Android开发技术周报 Issue#67

新闻 OpenJDK将对Android开发产生怎样的影响? 在2015年年底,InfoQ曾提到Google已经决定在Android中使用OpenJDK,以取代基于Harmony实现的Java库.尽管这条消息在宣布时恰逢圣诞期间,但Google的这一决定还是在互联网上引起了很大的反响,我们将在本文中对于这些观点进行一次总结. 教程 ReactNative For Android 项目实战总结 Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行

Android开发技术周报 Issue#17

ART运行时垃圾收集(GC)过程分析 ART运行时与Dalvik虚拟机一样,都使用了Mark-Sweep算法进行垃圾回收,因此它们的垃圾回收流程在总体上是一致的.但是ART运行时对堆的划分更加细致,因而在此基础上实现了更多样的回收策略.不同的策略有不同的回收力度,力度越大的回收策略,每次回收的内存就越多,并且它们都有各自的使用情景.这样就可以使得每次执行GC时,可以最大限度地减少应用程序停顿.本文就详细分析ART运行时的垃圾收集过程. 如何调试 Android 上 HTTP(S) 流量 在And

Android开发技术周报 Issue#15

教程 Android Studio系列教程五--Gradle命令详解与导入第三方包 Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看.编译并导入第三方开源项目的方法. 打造极致Material Design动画风格Button 在我的文章中曾经有两篇关于Material Design风格的按钮实现.在第一章中只是简单的实现了动画的波纹效果,而在第二篇中对此进行了一定的扩充与优化,最后实现可以自动移动到中心位置