Android开发技术周报 Issue#55

新闻

  1. Kotlin语言1.0Beta发布,JetBrain介绍其设计理念android

    2010年,长达是十年之久的Java开发让JetBrains的工程师认为老旧的Java语言已经严重阻碍了生产力。他们认为是时候开发一款现代化的JVM语言了,这也是由于他们有足够的资源和专家。自己作各类IDEs起家的JetBrains就开始着手新工具的开发——一个编程语言。git

教程

  1. 深刻理解Android之AOPgithub

    你们都知道OOP,即ObjectOriented Programming,面向对象编程。而本文要介绍的是AOP。AOP是Aspect Oriented Programming的缩写,中译文为面向切向编程。OOP和AOP是什么关系呢?首先: l OOP和AOP都是方法论。我记得在刚学习C++的时候,最难学的并非C++的语法,而是C++所表明的那种看问题的方法,即OOP。编程

  2. Android实战之你应该使用哪一个网络库?segmentfault

    目前基本上每一个应用都会使用HTTP/HTTPS协议来做为主要的传输协议来传输数据。即便你没有直接使用HTTP协议,也会有成堆的SDK会包含这些协议,譬如分析、Crash反馈等等。固然,目前也有不少优秀的HTTP的协议库,能够很方便的帮助开发者构建应用,本篇博文中会尽量地涵盖这些要点。设计模式

  3. Android M新特性Doze and App Standby模式详解性能优化

    从Android6.0开始,Android提供了两种省电延长电池寿命的功能:Doze和App Standby;表现形式:当设备没有链接到电源,设备进入Doze模式时,系统将经过延迟最近用户没有使用的应用程序的后台CPU运做及网络活动,让应用程序处于App Standby状态,以此来减小电池消耗。谷歌表示,在Nexus5和Nexus6上测试,当屏幕处于关闭状态,平均续航时间提升30%;网络

  4. 加速你的Android应用架构

    几周以前,我在Droidcon NYC上有过一次关于Android性能优化的演讲。.我在这个演讲中花费了大量的时间,由于我想经过真实的例子展示性能问题,以及我是经过什么样的工具去发掘这些问题的。由于时间缘由,在演讲中我不得不舍弃一半的内容。在这篇文章中,我会总结在演讲中我所讨论的全部内容,而且给出实例。框架

  5. 内存泄露从入门到精通三部曲之基础知识篇

    试想这个场景,应用起来之后,转屏。转屏之后,旧MainActivity会destroy,新MainActivity会重建,致使单例ImageUtil从新getInstance。很不幸的是,因为instance已经不是空的了,因此ImageUtil不会重建,还持有以前的Context,也就是以前的那个MainActivity实例的context

  6. 携程Android App插件化和动态加载实践

    携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验。本文将详细介绍Android平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App的架构演化过程,指望咱们的经验能帮助到更多的Android工程师。

  7. 移动端图片格式调研

    图片一般是移动端流量耗费最多的部分,而且占据着重要的视觉空间。合理的图片格式选用和优化能够为你节省带宽、提高视觉效果。在这篇文章里我会分析一下目前主流和新兴的几种图片格式的特色、性能分析、参数调优,以及相关开源库的选择。

  8. 关于Android Log的一些思考

    在平常的Android开发中,日志打印是一项必不可少的操做,咱们经过分析打印的日志能够分析程序的运行数据和状况。然而使用日志打印的正确姿式又是怎样呢,如何屏蔽日志信息输出呢,本文将逐一进行回答。

  9. Android NDK中C++运行时库介绍

    通常的Android应用程序都是用Java语言编写的,在Dalvik虚拟机或ART虚拟机中运行的。可是,出于对性能的考虑,Android也容许使用JNI接口,直接调用原生(Native)程序。这些程序都是直接被编译成平台支持的汇编指令,效率天然比在虚拟机中运行的要高。不过,如今ART虚拟机出现了,JNI调用在性能方面的优点被大大缩减。

  10. Android打包的那些事

    使用gradle打包apk已经成为当前主流趋势,我也在这个过程当中经历了各类需求,并不断结合gradle新的支持,一一改进。在此,把这些相关的东西记录,作一总结。

  11. MVVM_Android-CleanArchitecture

    "Architecture is About Intent, not Frameworks" - Robert C. Martin (Uncle Bob),Uncle Bob 的这句话套在 MVVM 上也是适用的, MVVM 也仅仅是架构模式(Architectural pattern),其有一套本身的理论概念(pattern)而不是规定的具体实现(或 Frameworks)。早以前在知乎上相关问题的回答(android UI设计MVVM设计模式讨论?)中也简单提到过 MVVM 了,M-V-X 的关系如上图,那么这一次博主把 Fernando Cejas(android10) 的 Android-CleanArchitecture 项目中的 MVP 实现重构成了用 MVVM 来实现。

  12. Android项目重构之路:架构篇

    去年10月底换到了新公司,作移动研发组的负责人,刚开始接手android项目时,发现该项目真的是一团糟。首先是其架构,是按功能模块进行划分的,原本按模块划分也挺好的,但是,他却分得太细,总共分为了17个模块,而好几个模块也就只有两三个类而已。但应用自己其实比较简单,要按功能模块来分的话,最多五个模块就够了。

  13. Android项目重构之路:界面篇

    在前一篇文章《Android项目重构之路:架构篇》中已经简单说明了项目的架构,将项目分为了四个层级:模型层、接口层、核心层、界面层。其中,最上层的界面,是变化最频繁的一个层面,也是最复杂最容易出问题的一个层面,若是规划很差,很容易作着作着,又乱成一团了。

  14. Android项目重构之路:实现篇

    前两篇文章Android项目重构之路:架构篇和Android项目重构之路:界面篇已经讲了个人项目开始搭建时的架构设计和界面设计,这篇就讲讲具体怎么实现的,以实现最小化可用产品(MVP)的目标,用最简单的方式来搭建架构和实现代码。 IDE采用Android Studio,Demo实现的功能为用户注册、登陆和展现一个券列表,数据采用咱们现有项目的测试数据,接口也是咱们项目中的测试接口。

代码&开源库

    1. Nevolution

      冯森林(无锋) @oasisfeng 大神的新项目,旨在带来更加干净的 Android 环境。

    2. DynamicAPK

      实现Android多apk/dex方式的apk加载,支持资源分包.

    3. AndroidChangeSkin

      一种彻底无侵入的换肤方式,支持插件式和应用内,无需重启Activity.

    4. InteractiveCanvas

      一个能够联动交互的Canvas。

    5. AutoHomeRefreshListView

      仿汽车之家下拉刷新效果

    6. AndroidSwipeableCardStack

      一个可滑动的卡片View堆叠效果的控件。

    7. Search-View-Layout 
      一个模仿5.0系统拨号器搜索联系人效果的搜索视图布局。

    8. TextViewForFullHtml TextViewForFullHtml是对原生TextView解析Html格式文本的加强。

相关文章
相关标签/搜索