Android开发技术周报 Issue#67

新闻

  1. OpenJDK将对Android开发产生怎样的影响?

    在2015年年底,InfoQ曾提到Google已经决定在Android中使用OpenJDK,以取代基于Harmony实现的Java库。尽管这条消息在宣布时恰逢圣诞期间,但Google的这一决定还是在互联网上引起了很大的反响,我们将在本文中对于这些观点进行一次总结。

教程

  1. ReactNative For Android 项目实战总结

    Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行React Natived的改造。在情侣空间基础上,Android Qzone 6.2版本以融合的方式将话题圈进行React Native改造。本文主要讲述话题圈的开发改造流程,相关数据对比及性能优化,本次改造ReactNative基于15Release。

  2. 浅析 Android 的窗口

    在开发过程中,我们经常会遇到,各种跟窗口相关的类,或者方法。但是,在 Android 的框架设计中,到底什么是窗口?窗口跟 Android Framework 中的 Window 类又是什么关系?以手机QQ 的主界面为例,如下图所示,上面的状态栏是一个窗口,手机QQ 的主界面自然是一个窗口,而弹出的 PopupWindow 也是一个窗口,我们经常使用的 Toast 也是一个窗口。

  3. Android 中有限状态机的设计和应用 

    主要内容有:有限状态机思想溯源,有限状态机的基本概念和编程思想,Android StateMachine 源代码解析,Android StateMachine应用实例

  4. Android相机开发那些坑

    最近我负责开发了一个跟Android相机有关的需求,新功能允许用户使用手机摄像头,快速拍摄特定尺寸(1:1或3:4)的照片,并支持在拍摄出的照片上做贴纸相关的操作。由于之前没有接触过Android相机开发,所以在整个开发过程中踩了不少坑,费了不少时间和精力。这篇文章总结了Android相机开发的相关知识、流程,以及容易遇到的坑,希望能帮助今后可能会接触Android相机开发的朋友快速上手,节省时间,少走弯路。

  5. 生还是死?Android 进程优先级详解

    让我们面对现实:移动设备上没有无限的内存、无限的电池或者其它无限的资源。这对应用而言意味着你应该把进程死亡作为应用生命周期的一个自然过程对待。最重要的是确保杀死进程及内存回收不会对用户造成负面影响。事实上,Android 中的多数进程架构都是为了确保特定的顺序而特别设计的,并按重要性层次遵循一组模式。

  6. 优化 Android 线程和后台任务开发

    在 Android 开发中,你不应该做任何阻碍主线程的事情。但这究竟意味着什么呢?在这次海湾 Android 开发者大会讲座中,Ari Lacenski 认为对于长时间运行或潜在的复杂任务要特别小心。这一次演讲,我们将根据一个真实场景应用的需求,讨论 AsyncTask, Activity, 和 Service,逐步建立一个更易于维护的解决方案。

  7. Android 6.0: 动态权限管理的解决方案

    Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常不错的解决方案.

  8. 如何自定义Android注解? 

    目前基于注解的开源项目越来越热,Dagger, ButterKnife, Retrofit...很多热门的开源项目都用到了注解,如何才能像GitHub大牛那样优雅得使用注解呢?本文作者就给你一步步地演示,文末还有完整代码哟。

  9. Andriod 破解之道(一)

    在Root前提下,我们可以使用Hooker方式绑定so库,通过逆向方式篡改数值,从而达到所谓破解目的。然而,目前无论是软件加固方式,或是数据处理能力后台化,还是客户端数据真实性验证,都有了一定积累和发展,让此“懒技术”不再是破解修改的万金油。再者,阅读汇编指令,函数指针替换,压栈出栈等技术需要一定技术沉淀,不利于开发同学上手。

  10. Android 破解之道 (二)

    在这篇文章,我们来讨论一下基于Android系统多缓存文件方式截屏的一些事。《 破解之道(一)》开篇介绍了基于Root环境截屏的技术,使用这种方式获取屏幕数据是快捷而便捷的。然而,大家先不要开心太早,此中却有两个系统级问题,很少有文章涉猎讨论,在此向大家详细解说一下。

  11. 动态Android编程

    本文章有些例子需要对Java或Android有一定编程基础。与Python相比,Java是一门比较严肃的语言。作为一个先学Python的程序员,做起Android难免会觉得不舒服,有些死板,非常怀念decorator等方便的方法。为了实现一个简单的逻辑,你可能需要写很多额外的代码。

  12. Bitmap.recycle引发的血案

    在Android中,Bitmap的存储分为两部分,一部分是Bitmap的数据,一部分是Bitmap的引用。在Android2.3时代,Bitmap的引用是放在堆中的,而Bitmap的数据部分是放在栈中的,需要用户调用recycle方法手动进行内存回收,而在Android2.3之后,整个Bitmap,包括数据和引用,都放在了堆中,这样,整个Bitmap的回收就全部交给GC了,这个recycle方法就再也不需要使用了。

  13. 如何学习 Android Animation? 

    动画可以做成什么样子(第1类)下述几篇博文通过如下3个方面向开发者展示『动画』:给出一些指导原则,阐述为什么要如此做动画,或者这样的动画有什么好处;给出 GIF 动图,直观地展示动画是什么;给出实现这种动画的代码片段(关键类、方法、资源文件)或者实现思路;这非常棒,可以帮助我们很快建立动画的印象,了解某个名词代表的动画是什么样子,应该怎么去实现。而且代码片段很多是从开源项目中摘录的,意味着我们可以调试这些动画。

  14. 浅谈 Android 开发文化

    质量从用户反馈很清凉然后我们就只能看 CPU 原来的想法是但是事实上不是这些但是我们可以把数据收集上来,从长远角度来说,我们呢很简单,怎样摆脱这种要辞职的想法,那我能去哪,要干啥,任何团队都有一定的问题,如果他走,我觉得我还可以接受缺一个告警什么叫我们的团队当时是Android 开发现在陷入了困境(快陷入七年了…)。

  15. 如何对 Android 库进行依赖管理?

    Android 开发人员为项目选择库的时候,考虑的因素不仅仅是功能、可用性、性能、文档丰富度和技术支持情况。他们还关心库的大小,以及要添加的方法数量。因为项目越大,依赖也越多,要把应用的方法数量控制在65k 以下,开发人员感觉很有压力。另外,对于非发行版项目而言,Proguard 使用起来效率太低,而且开发人员视 multidex 如瘟疫,避之唯恐不及。因此,编写库的作者必须特别注意项目的大小。

  16. 如何量化Android应用的“卡”?—流畅度原理&定义篇

    在手机App竞争越来越激烈的今天,Android App的各项性能,如CPU、内存消耗等都有了客观的衡量指标。但对于App使用过程是否流畅,一直没有一个可靠的指标将用户的客观感受和数据一一对应。虽然之前有FPS(每秒帧数)作为游戏或视频类App的性能指标,但对于那些界面更新不多的App来说,仍不是一个合适的衡量数据。

  17. 基于Fragment的Android前台服务框架

    从Android 3.0开始,Google引入了全新的Fragment UI体系,重新诠释了可复用可延展的Android UI设计理念。Android Support Library更是为任何面向低版本Android的应用开发者提供了完整的Fragment后向兼容方案(backport)。所以,如果开发一款新的Android应用,使用Fragment已无需有任何顾忌。尽早拥抱这一强大的机制设计,可以帮你省下可观的开发和维护工作量。

开源库&项目

  1. DilatingDotsProgressBar

    圆点交替扩大效果的进度条

  2. MaterialIntroView

    一款可用于给 Android 应用添加用户引导视图的库

  3. AppCompat-Extension-Library

    在 AppCompat Design Library 的基础上提供了额外的控件:AccountHeaderView、FloatingActionMenu、CircleImageView、FlexibleToolbarLayout, Delightful Detail Drawables 和 TypefaceCompat

  4. Freezer

    一个简单的 ORM 库

  5. ProgressFloatingActionButton

    带进度条的 FloatingActionButton

  6. CircleDemo

    仿微信实现的朋友圈

  7. AndroidLintPlus 

    定制 Lint 规则

  8. AndroidProcess

    不要拿来干坏事

  9. sliding-deck

    效果很赞

工具

  1. pngquant

    图片压缩命令行工具,使用教程

  2. dexcount-gradle-plugin

    统计方法个数的插件

  3. GoogleDevelopersColorScheme

    适用于 IDEA 和 Android Studio 的代码配色方案

视频

  1. Android应用程序UI硬件加速渲染技术

    罗升阳大神的分享,不容错过

技术之外

  1. 远离“不聪明且勤奋的人”

    看看你周围有这样的人没

  2. 和不靠谱的PM、UI打交道时一种什么样的体验?

    是段子还是现实

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

时间: 2024-10-12 03:17:48

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

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#24

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

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风格的按钮实现.在第一章中只是简单的实现了动画的波纹效果,而在第二篇中对此进行了一定的扩充与优化,最后实现可以自动移动到中心位置

Android开发技术周报 Issue#21

教程 Android模块化编程之引用本地的aar 随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便. 微信的jsbridge实现 android的webview api中有开放过一个addJavaScriptInterface函数

Android开发技术周报 Issue#31

教程 LeakCanary: 让内存泄露无所遁形 一些对象有着有限的生命周期.当这些对象所要做的事情完成了,我们希望他们会被回收掉.但是如果有一系列对这个对象的引用,那么在我们期待这个对象生命周期结束的时候被收回的时候,它是不会被回收的.它还会占用内存,这就造成了内存泄露.持续累加,内存很快被耗尽. 移动端尺寸基础知识 (@慕课网) 初涉移动端设计和开发的同学们,基本都会在尺寸问题上纠结好一阵子才能摸到头绪.我也花了很长时间才弄明白,感觉有必要写一篇足够通俗易懂的教程来帮助大家.从原理说起,理清