Android开发技术周报 Issue#75

Android开发技术周报 Issue#75

April 05, 2016 0 条评论 AndroidDevWeekly

教程

  1. 适配 Android N 多窗口特性的 5 个要诀

    Android N 的一大新特性是支持多窗口,为此开发者应该做哪些准备工作呢?这里 Google 工程师 Ian Lake 告诉你 5 大要诀.使用多窗口分屏功能,能够并排地同时看到两个应用。你可能非常兴奋,想知道这是如何做到的,于是立刻去查阅文档,看看是什么新 API 实现了这一独特功能。

  2. 从案例学习RxAndroid(By Dominic)

    如果你在阅读这篇文章,相信你一定很想了解RxJava以及如何在Android应用中使用它。可能你已经见过RxJava的代码了,但仍然有些疑惑,愿你能在这篇文章里找到答案。当我第一次使用RxJava的时候我只是在照搬代码,这些代码能跑起来,但是我对RxJava的基础部分仍然存在误解,而且我找不到好的源码来学习。所以为了理解RxJava,我不得不一点一点学习,踩了不少坑。

  3. Android MVP 详解(上)(By DIY-green)

    MVP 在 Android 上的使用其实已经有挺长一段时间了,长到似乎有点“过时”了(目前风头正劲的是MVVM),那为什么现在还要讲 MVP。今天我想要讨论它的主要原因有如下几点:1. MVP 并未过时,值得我们研究 2. 目前关于 MVP 的资料都不算太详尽 3. 由于能力和时间有限,本人拖到最近才下定决心写

  4. Android MVP 详解(下) (By DIY-green)

    总体架构可以被分成四个部分 :Presentation:负责展示图形界面,并填充数据,该层囊括了 View 和 Presenter (上图所示的Model我理解为 ViewModel -- 为 View 提供数据的 Model,或称之为 VO -- View Object)。

  5. 理解Android编译命令

    准备好编译环境后,编译Android源码的第一步是 source build/envsetup.sh,其中source命令就是用于运行shell脚本命令,功能等价于”.”,因此该命令也等价于. build/envsetup.sh。在文件envsetup.sh声明了当前会话终端可用的命令,这里需要注意的是当前会话终端,也就意味着每次新打开一个终端都必须再一次执行这些指令。起初并不理解为什么新开的终端不能直接执行make指令,到这里总算明白了。

  6. 理解Android进程创建流程

    本文要介绍的是进程的创建,先简单说说进程与线程的区别。进程:每个App在启动前必须先创建一个进程,该进程是由Zygote fork出来的,进程具有独立的资源空间,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在Android Runtime。大多数情况一个App就运行在一个进程中,除非在AndroidManifest.xml中配置Android:process属性,或通过native代码fork进程。

  7. 微信Android客户端后台保活经验分享

    国产机器大多缺乏GMS,在国内GCM也不稳定(心跳原因),第三方通道需要考虑安全问题和承载能力,最后微信选择使用自己的长连接。而国外, GCM作为辅助,微信无法建立长连接时,才使用GCM。之前看到大家在聊各种Java网络框架,而微信实际上都是没用上的。早年的微信,直接通过Java socket 实现。微信v5.0后,考虑各系统平台的统一,开始使用自研c++组件。

  8. 探索react native首屏渲染最佳实践

    react native给了我们使用javascript开发原生app的能力,在使用react native完成兴趣部落安卓端发现tab改造后,我们开始对由react native实现的界面进行持续优化。目标只有一个,在享受react native带来的新特性的同时,在体验上无限逼近原生实现。

  9. 从零开始的Android新项目4 - Dagger2篇

    Dagger - 匕首,顾名思义,比ButterKnife这把黄油刀锋利得多。Square为什么这么有自信地给它取了这个名字,Google又为什么会拿去做了Dagger2呢(不都有Guice和基于其做的RoboGuice了么)?希望本文能讲清楚为什么要用Dagger2,又如何用好Dagger2。

  10. APK瘦身记,如何实现高达53%的压缩效果

    APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律。不过随着移动端技术近两年的飞速发展,一些新的思维方式和优化方法也逐渐涌现和成熟起来。笔者在实践过程中踩过一些坑,收获了一些经验,在这里做个思考和总结,所以随笔给大家,希望对大家从事相关工作的时候有所帮助和参考,同时也是抛砖引玉,希望大家共同探讨这个开放性的话题。

  11. Android应用安全开发之浅谈加密算法的坑

    Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。还有很多开发者没有意识到的加密算法的问题。

  12. 5个导致主线程卡顿较鲜为人知的元凶

    广大安卓开发者都知道主线程是APP用来响应用户交互的线程,因此应该避免执行耗时操作。通常来说,耗时方法导致主线程卡住超过16*N毫秒时,APP界面将会丢掉N帧。让我们把这些耗时长的方法称作卡顿函数(Hung Method)。在本文中,我们首先看一个典型的卡顿函数案例,接着仔细分析5个较鲜为人知的导致主线程卡顿原因。

开源库&项目

  1. android-architecture

    Google 官方开源的关于 Android App 架构的示例项目

  2. FlexLayout

    比 LinearLayout 和 RelativeLayout 更强大的布局,而且可以在 layout params 中使用 java 表达式

  3. CatLoadingView

    效果很酷的加载动画 View

  4. Conductor

    full-featured framework

  5. welcome-coordinator

    可以帮助你在应用中创建很棒效果的的库

  6. RxAndroidBle

    RxJava + BLE = Powerful

  7. kotlin-jetpack

    用 kotlin 写的一系列有用的扩展方法

  8. StatusBarUtil

    一个为Android App 设置状态栏的工具类

  9. Takt

    一个可以测量 FPS 的库

工具

  1. jabba

    JDK 版本管理器,支持Oracle JDK 和 Zulu OpenJDK

视频

  1. Android 性能模式 第三季(中文)

技术之外

  1. 一个前端的自我修养

  2. 真正的聪明人,都是怎样从普通人中脱颖而出的?

版权声明

禁止一切形式的转载-禁止商用-禁止衍生 申请授权

脉脉不得语
脉脉不得语
Zhengzhou Website
Android Developer | https://androiddevtools.cn and https://androidweekly.io Funder | GDG Zhengzhou Funder & Ex Organizer | http://Toast.show(∞) Podcast Host

你已经成功订阅到 Android 开发技术周报
太棒了!接下来,完成检验以获得全部访问权限 Android 开发技术周报
欢迎回来!你已经成功登录了。
Unable to sign you in. Please try again.
成功!您的帐户已完全激活,您现在可以访问所有内容。
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.
🍗