07 2016 档案
摘要:文章 SEAndroid安全机制框架分析 Android apk动态加载机制的研究 Android View系统解析(上) Android View系统解析(下) Android仿QQ5.0侧滑菜单ResideMenu源码分析 Android ViewGroup事件分发机制 ANDROID内存优化(
阅读全文
摘要:Andriod Studio科普篇 作者记录了自己在使用Android Studio时做的一些个性化设置,踩到的一些坑等等。 美团Android自动化之旅—生成渠道包 文章介绍了三种打渠道包的方式。目前,Android团队打包基本使用第三种方式,完成了打包的自动化,解放了工程师的生产力,善哉善哉。打
阅读全文
摘要:文章 HTTP2协议中英对照版 HTTP 全称为 HyperText Transfer Protocol,中文叫做超文本传输协议。用于 Web 应用层传输,是 Web 架构的核心,它至今公布有 3 个版本:HTTP 0.9、HTTP 1.0、HTTP 1.1,作为与时俱进的我们,有必要去了解和学习
阅读全文
摘要:文章 Android系统性能调优工具介绍 在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是: 测评:对系统进行大量有针对性的测试,以得到合适的测试数据。 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。 性能优化:对hots
阅读全文
摘要:文章 Instagram工程师教你如何改善App的性能 扁平化设计由于其简洁的外表,更少的按钮和选项使得界面干净整齐,从而减少认知障碍的产生。扁平化设计更是功能上的简化于与重组,相比于拟物化而言,扁平风格的一个优势就在于它可以更加简单直接的将信息和事物的工作方式展示出来。本文来自Instagram一
阅读全文
摘要:文章 进入Material Design时代 Material Design是Android 5.0系统的重头戏,并在以后App中将成为一种设计标准,而且随着已支持Android 5.0 Lollipop的Nexus 6的开售,Google希望开发者更快的支持Material Design,连续发了
阅读全文
摘要:新闻 Android 5.0 Lollipop源代码发布 Google将最新的Android 5.0 Lollipop系统源代码上传在公开的Android Open Source Project(AOSP) 库。 Android 5.0 Lollipop 安全特性详解 Android 5.0 Lol
阅读全文
摘要:文章 使用gradle构建android项目(续) 在几个月之前,我已经写过一篇使用gradle构建android项目的博客了http://blog.isming.me/2014/05/20/android4gradle/,那篇文章已经介绍了如何使用gradle进行项目构建,以及为谷歌会推荐使用gr
阅读全文
摘要:新闻 盘点最受开发者喜爱的Android 5.0 Lollipop API 作为Android系统的一次重大升级,Android 5.0 Lollipop突出采用全新的Material Design设计语言,不但在视觉和操作上更胜一筹,还包含扩展UI工具包供开发者使用,为应用添加3D实时阴影,可缩放
阅读全文
摘要:Dalvik虚拟机Java堆创建过程分析 使用C/C++开发应用程序最令头痛的问题就是内存管理。慎不留神,要么内存泄漏,要么内存破坏。虚拟机要解决的问题之一就是帮助应用程序自动分配和释放内存。为了达到这个目的,虚拟机在启动的时候向操作系统申请一大块内存当作对象堆。之后当应用程序创建对象时,虚拟机就会
阅读全文
摘要:文章 Google为何这样设计OnSharedPreferenceChangeListener 之前使用OnSharedPreferenceChangeListener,遇到了点小问题,就是有些时候OnSharedPreferenceChangeListener没有被触发。最近花了点时间研究了一下,
阅读全文
摘要:文章 Android Apk 拆分机制 拆分机制比起使用 flavors,能让应用程序更有效地构建一些形式的多个apk。多 apk 只支持以下类型: 1. 屏幕密度 2.ABI.使用新的拆分机制,构建同一个应用程序的hdpi版本和mdpi版本,能够共享很多的任务 (如 javac,dx,progua
阅读全文
摘要:文章 Dalvik虚拟机垃圾收集(GC)过程分析 前面我们分析了Dalvivk虚拟机堆的创建过程,以及Java对象在堆上的分配过程。这些知识是理解Dalvik虚拟机垃圾收集过程的基础。垃圾收集是一个复杂的过程,它要将那些不再被引用的对象进行回收。一方面要求Dalvik虚拟机能够标记出哪些对象是不再被
阅读全文
摘要:新闻 Oracle开始从Java运行时中移除JAR包 早在2012年8月,在Java平台首席架构师Mark Reinhold宣布模块化项目Jigsaw之后不久,JEP 162这一题为“准备模块化”的提案就指出,在Jigsaw项目中为模块化系统开发的代码不会集成到JDK 8中。那次延期直接将模块化支持
阅读全文
摘要:新闻 慎用Java日期格式化 这条留言实际指向了Twitter上的一个帖子,这个帖子提醒大家,如果使用了YYYY的格式符来格式化日期,那么就有可能用错格式了。Reddit的一位读者解释说,Twitter由于误用格式符,把当天的日期变成了2015年12月的某天。 教程 ART运行时垃圾收集机制简要介绍
阅读全文
摘要:教程 Android Studio系列教程五--Gradle命令详解与导入第三方包 Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studio,为此今天就来介绍下查看、编译并导入第三方开源项目的方法。 打造极致Material Design动画风
阅读全文
摘要:教程 Android性能优化之过渡绘制(一) 首先将讲解一下GPU过渡绘制,也是开发者最直接接触的部分吧,这个内容将分为两个部分来将讲,第一部分初步讲解一下gpu过渡绘制的原理,和一些优化建议,第二部分将用实际例子来讲解优化GPU过渡绘制的一般步骤。 Android性能优化之过渡绘制(二) 这篇文章
阅读全文
摘要:新闻 Groovy 2.4发布,支持Android开发 近日,Groovy编程语言的管理者Guillaume Laforge在博客上宣布了Groovy 2.4发布的消息。就在不久前,Pivotal宣布不再资助Groovy/Grails项目,Groovy 2.4将成为Pivotal资助下的最后一个主要
阅读全文
摘要:ART运行时垃圾收集(GC)过程分析 ART运行时与Dalvik虚拟机一样,都使用了Mark-Sweep算法进行垃圾回收,因此它们的垃圾回收流程在总体上是一致的。但是ART运行时对堆的划分更加细致,因而在此基础上实现了更多样的回收策略。不同的策略有不同的回收力度,力度越大的回收策略,每次回收的内存就
阅读全文
摘要:教程 Android开源项目源码解析 由@Trinea发起的Android开源项目源码解析项目,目前已校对发布的分析有:Volley源码解析、Android Universal Image Loader源码分析、Dagger源码解析、EventBus 源码解析、xUtils源码解析、ViewPage
阅读全文
摘要:新闻 Xposed Framework for Android Lollipop is Here! Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。 教程 用 RecyclerView 实现『贝壳
阅读全文
摘要:教程 Android模块化编程之引用本地的aar 随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android L
阅读全文
摘要:教程 如何检测一个APP:从解密到批量获取他人信息 在挖掘Android App的web端漏洞时,遇到一些看起来安全性做的比较好的应用会对http请求也会加密,这篇文章作者就提供了一个不错的基本的解决思路:反编译获取加密方式-》解密 -》添加logcat直接输出加密的内容。 用Path来绘制一些图形
阅读全文
摘要:教程 Android精选话题讨论与面试题集锦 由@Trinea发起的,大家的共同参与和维护,目前“Android 面试题集锦及解答” 已有 63 个 Issues,近 400 Star。另外我们将一部分精彩话题移到“Android 精选话题讨论”下讨论 http://t.cn/RwgpkQh 每天逛
阅读全文
摘要:教程 细数Android系统那些DOS漏洞 Android系统存在一些漏洞可导致系统重启,当然让系统重启只是一种现象,这些漏洞有的还可以权限提升、执行代码等。本文以重启这个现象为分类依据,牵强的把这些漏洞放在一块来看。下面对这些漏洞的成因和本质进行简单的分析,并尽量附上编译好的poc和漏洞利用演示视
阅读全文
摘要:教程 Android ocr识别文字介绍 最近在做身份证号码识别,在网上搜索的一番后发现目前开源的OCR中tesseract-ocr算是比较强大的了,它由HP于1985年到1995年间开发,后来由google直接负责,经过谷歌进一步开发后,目前的tesseract-ocr有了显著的改进。 Java实
阅读全文
摘要:教程 FaceBook推出的Android图片加载库-Fresco 在Android设备上面,快速高效的显示图片是极为重要的。过去的几年里,我们在如何高效的存储图像这方面遇到了很多问题。图片太大,但是手机的内存却很小。每一个像素的R、G、B和alpha通道总共要占用4byte的空间。如果手机的屏幕是
阅读全文
摘要:教程 Android开发技术前线第五期 (@MrSimp1e) 深入Android图形管道、Romain Guy的性能优化案例、图片加载框架Glide、模仿iOS的模糊视图,都是些不错的文章。 Android内存优化之MAT工具使用教程系列 (@高建武_Gracker) 正所谓工欲善其事,必先利其器
阅读全文
摘要:教程 Android判断APP是否在前台运行 (@hi大头鬼hi) APP开发中经常会遇到这种需求,需要检查当前的APP是不是可见的,比如,如果是可见的就维持一个socket长连接,如果切到后台不可见了,就断开这个连接。Android本来并不允许APP去监听home键事件,所以我们没发像iOS那样通
阅读全文
摘要:Android内核解读-应用的安装过程 (慕课网android学习小组) 我们知道,在android手机上安装一个apk很简单,只要打开apk文件,默认就会弹出安装界面,然后点击确定,经过若干秒后,apk就安装成功了,可是你知道apk的安装过程是什么吗?你知道android系统在安装一个apk的时候
阅读全文
摘要:教程 如何检查 Android 应用的内存使用情况 Android是为移动设备而设计的,所以应该关注应用的内存使用情况。尽管Android的Dalvik虚拟机会定期执行垃圾回收操作,但这也不意味着就可以忽视应用在何时何处进行内存分配和释放。为了提供良好的用户体验,做到系统在不同应用间流畅切换,当用户
阅读全文
摘要:教程 LeakCanary: 让内存泄露无所遁形 一些对象有着有限的生命周期。当这些对象所要做的事情完成了,我们希望他们会被回收掉。但是如果有一系列对这个对象的引用,那么在我们期待这个对象生命周期结束的时候被收回的时候,它是不会被回收的。它还会占用内存,这就造成了内存泄露。持续累加,内存很快被耗尽。
阅读全文
摘要:教程 Android 应用启动速度优化之 Systrace 的使用 Android 应用启动速度优化方式有很多方法,不过在优化之前,需要找到应用启动速度的瓶颈,找到关键点之后,再去优化,则可以达到事半功倍的效果。 Google 提供了很多 Debug 工具来帮助我们优化应用,这其中就包括 Systr
阅读全文
摘要:教程 在 Android 中使用 data-binder 绑定布局 xml 与数据 在前几天的 Google IO 2015 中,Google 在 support-v7 中新增了 data-binder,使用 data-binder 可以直接在布局的 xml 中绑定布局与数据,从而简化代码。因为 d
阅读全文
摘要:教程 Google Develop for Android 系列 前几天在G+上看到Google Developers站点,有一个Android系列的文章,分享到个人微博,周末闲来没事就学写了下,把它们简单的翻译了下,没想到一发不可收拾,六篇文章全部都翻译完了,有些地方省略了部分示例的描述或者换了另
阅读全文
摘要:教程 Android Studio分模块自动化构建实战 最近在使用Android Studio+Gradle做一个基础框架SDK项目,该框架主要实现每个app都需要的基础能力,例如网络请求,图片缓存,json解析,日志记录等等。众所周知,AndroidStudio中应该尽量使用Module来进行模块
阅读全文
摘要:教程 Google Developing for Android 九 - Tools Andorid提供了很多可以帮助我们debug和分析问题的工具,它们可以让你的app拥有更好的性能。这些检测工具涵盖了内存分析,比如Allocation Tracker(在DDMS和Android Studio中都
阅读全文
摘要:教程 探索在Android中使用Emoji Font的方法 先说结论,在android4.4以前,无法使用像苹果那样的emoji字体样式,最简单的解决方案是使用ImageSpan配合SpannableString,而在4.4及之后的版本,则可以直接采用类似iOS/OSX的方案进行快速渲染。 使用Ko
阅读全文
摘要:教程 Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 目前,我相信,没有任何 Android 开发者不知道材料设计的,因为它的设计在过去的一年震惊了世界,正式的变成了一个设计理念。令人惊讶的是,在 Android 应用中材料设计是不容
阅读全文
摘要:新闻 Google 收购 Android 十周年,多图看 Android 十年间的变迁 往事一回首,十年就过去了。由于 Google 当年是悄悄地做了这笔收购交易,所以外界其实没有多数人知道 Google 收购 Android 的具体时间点。按照维基百科上“Google 公司收购列表”这个词条上给出
阅读全文
摘要:教程 Gradle Tips系列 由@hi大头鬼hi同学翻译的三篇很不错的Gradle文章,主要介绍了task的配置和执行,Groovy的常用语法,以及task的依赖等。另外2篇:Gradle Tips#2-语法、Gradle tip #3-Task顺序 Material Design:扁而不平 这
阅读全文
摘要:谷歌确认Android M系统版本号为5.20 谷歌曾经发布了Android M系统,新的系统虽然还没有应用在手机上面,但是已经有不少厂商对新系统感兴趣了。因为Android M具备很多 新功能,在内存占用等问题上也得到了优化。不过一直没有确认的是这款新系统究竟是以什么样的名字或者版本号出现。最近谷
阅读全文
摘要:新闻 Android Broadcast组件权限绕过漏洞 Lolipop源码已经放出有些日子了,我发现google在Android 5.0上修复了一个高危漏洞,利用该漏洞可以发送任意广播:不仅可以发送系统保护级别的广播、还可以无视receiver的android:exported=false、and
阅读全文
摘要:教程 Android项目中如何用好构建神器Gradle? Gradle虽为构建神器,但感觉学习曲线比较陡峭。Gradle User Guide内容很多,但有点太多了,多的你看不完,Gradle Plugin User Guide一篇文章主要讲了Android相关的配置,看完可能感觉马马虎虎会用,但到
阅读全文
摘要:新闻 谷歌确定Android 6.0命名为Marshmallow 谷歌终于确定了Android M中M所代表的甜品:Marshmallow(棉花糖)。Android 6.0五月下旬在I/O大会上亮相,将于今年秋天与用户见面。但是依照惯例,谷歌并没有宣布新Android的代号全称。新版本发布后,只能说
阅读全文
摘要:实战解析Android架构设计原则 好的软件设计必须能够帮助开发者发展和扩充解决方案,保持代码清晰健壮,并且可扩展,易于维护,而不必每件事都重写代码。面对软件存在的问题,必须遵守SOLID原则,不要过度工程化,尽可能降低框架中模块的依赖性。 Android 6.0 中新的新技术 最近 Google
阅读全文
摘要:教程 Android微信智能心跳方案 本方案的主要目标是,在尽量不影响用户收消息及时性的前提下,根据网络类型自适应的找出保活信令TCP连接的尽可能大的心跳间隔,从而达到减少安卓微信因心跳引起的空中信道资源消耗,减少心跳Server的负载,以及减少部分因心跳引起的耗电。 Android M 新的运行时
阅读全文
摘要:教程 深入理解Android之Gradle Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之前,先说点题外话。说实话,我在大法工作的时候,就见过Gradle。但是当时我一直不知道这是什么东西。而且大法工具组的工程师还将其和Android Studio
阅读全文
摘要:教程 Android内存泄露案例分析 一款优秀的Android应用,不仅要有完善的功能,也要有良好的体验,而性能是影响体验的一个重要因素。内存泄露是Android开发中常见的性能问题。这篇文章,通过我们曾经遇到的一个真实的案例,来讲述一个内存泄露问题,从发现到分析定位,再到最终解决的全过程。 And
阅读全文
摘要:教程 TextView预渲染研究 Android中的TextView是整个framework中最复杂的控件之一,负责Android中显示文本的大部分工作,framwork中的许多控件也直接或者间接的继承于TextView,例如Button,EditText等。其内部实现也相当复杂,单论代码行数来说,
阅读全文
摘要:新闻 Android系统两大漏洞曝光:影响超10亿台设备 安全研究人士周四披露了谷歌Android移动操作系统的两大严重漏洞,这些漏洞令超过10亿台Android设备面临被黑的风险。研究人士称,这意味着“几乎每台Android设备”都会受到影响,无论其所搭载的是1.0版本Android系统还是最新的
阅读全文
摘要:教程 给 Android 开发者的 RxJava 详解 RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs using observable sequences for th
阅读全文
摘要:新闻 谷歌公布 Android 6.0 设备要求:强制开启全磁盘加密 据科技博客VentureBeat报道,谷歌在周一更新了Android 6.0的兼容性生产规格文件,向手机和平板电脑制造商详细介绍了运行Android 6.0系统的设备需要满足的要求。谷歌对于制造商生产的Android 6.0设备主
阅读全文
摘要:新闻 Google Play推出新功能,帮助开发者获取有效用户 在今年五月的Google I/O大会上,Google提前公布了一批功能强大的新开发工具,来帮助Google Play上的开发者以更敏锐的眼光扩大自身业务并提升决策水平。这些新功能已在Google Play开发者控制台正式上线。 Andr
阅读全文
摘要:新闻 Chrome OS 和 Android 合二为一的报道满天飞,Google 却说不会放弃 Chrome OS Android 和 Chrome OS 融合的传闻早在 2010 年已有之,但这一次消息出现了具体的时间点。华尔街日报在相关人士中获知,Google 的工程师已经努力近两年,将 Chr
阅读全文
摘要:新闻 Kotlin语言1.0Beta发布,JetBrain介绍其设计理念 2010年,长达是十年之久的Java开发让JetBrains的工程师认为老旧的Java语言已经严重阻碍了生产力。他们认为是时候开发一款现代化的JVM语言了,这也是因为他们有足够的资源和专家。本身做各种IDEs起家的JetBra
阅读全文
摘要:新闻 未来已来 Solve for X首次登陆亚洲 你一定听说过这些项目:由泪液量测血糖值的智能隐形眼镜,针对无法上网地区提供网路服务的热气球计划,以及为手术提高效率、减低成本的纳米机器人。这些多年前听起来像是科幻小说的项目现在都已实现,而它们皆来自于Solve for X。 教程 Android快
阅读全文
摘要:新闻 传谷歌明年在中国大陆上线Google Play 据悉,谷歌将为中国大陆市场专门制作Google Play应用商店,该应用商店将不能连接海外版Google Play。消息人士称,谷歌打算遵守中国法律对Google Play的内容进行过滤,且Google Play的数据都将存储在中国。截至目前,谷
阅读全文
摘要:教程 RxJava使用场景小结 取数据先检查缓存的场景,取数据,首先检查内存是否有缓存,然后检查文件缓存中是否有 最后才从网络中取,前面任何一个条件满足,就不会执行后面的。 RxJava基本流程和lift源码分析 首先来介绍一下Func这个接口。RxJava中有一系列Action+数字,Func+数
阅读全文
摘要:教程 Android 中 SQLite 性能优化 数据库是应用开发中常用的技术,在Android应用中也不例外。Android默认使用了SQLite数据库,在应用程序开发中,我们使用最多的无外乎增删改查。纵使操作简单,也有可能出现查找数据缓慢,插入数据耗时等情况,如果出现了这种问题,我们就需要考虑对
阅读全文
摘要:教程 Badge分析&如何逼死处女座 所谓Badge,原本是iOS上的一个效果,但是被Android抄的多了,也就成了Android的标配。图就不上了,大家都懂的。应用icon显示角标实际上是在Launcher中实现的,其实不管是角标还是其他对快捷方式的增删改查,都是需要Launcher支持的,应用
阅读全文
摘要:教程 Android FrameWork 基于libGDX实现高性能动画特效(粒子特效/烟花效果篇) 工作原因最早想做一个烟花绽放的特效,最初方案是播放Gif或者自己绘制帧动画,但是这种方案的弊端在于动画效果死板,播放元素无法更换,而且资源对于空间的占用恐怕也是日后的一大隐患。之后便考虑到粒子效果代
阅读全文
摘要:教程 【译】Android开发中的MVP架构 最近越来越多的人开始谈论架构。我周围的同事和工程师也是如此。尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建。这篇文章是我通过研究和学习各种文章以及专题讨论所总结出来的,它包括以下几点:为什么越来越多的人开始关注架构?首先
阅读全文
摘要:新闻 谷歌做了一个艰难的决定:安卓系统不再用甲骨文的私有 Java API 了 12月 29 日有人在 Hacker News 上爆料,安卓代码库中出现了神秘的代码提交(commit),修改了 8902 个文件,大家开始猜测,谷歌这是要用 OpenJDK 换掉 Android 系统中在用的 Java
阅读全文
摘要:教程 AndroidFlux-异步请求和网络 在移动开发中,异步网络操作必不可少,本篇着重介绍在Flux模式中如何处理异步操作的问题,并深入一些细节,比如如何在异步操作时显示异步状态。另外,网络操作仅仅是异步操作的一种,最后扩展ActionCreator的语义来处理更多的业务逻辑。 Tricking
阅读全文
摘要:新闻 2016 Google I/O大会日期宣布了,今年Sundar Pichai会说些什么? 【官方独家】谷歌CEO桑达尔·皮查伊(Sundar Pichai)今天在Google+上宣布:2016年Google I/O大会将于5月18日至20日举行。今年大会的地址为谷歌总部山景城的Shorelin
阅读全文
摘要:新闻 在 Google 看来,应用商店都将消亡,而搜索永存 搜索才是王道,让用户在 Google 搜索结果里直接安装 App 教程 Android Scroller完全解析,关于Scroller你所需知道的一切 郭神新作,详解 Scroller Android应用安全开发之源码安全 实用 APK 反
阅读全文
摘要:新闻 OpenJDK将对Android开发产生怎样的影响? 在2015年年底,InfoQ曾提到Google已经决定在Android中使用OpenJDK,以取代基于Harmony实现的Java库。尽管这条消息在宣布时恰逢圣诞期间,但Google的这一决定还是在互联网上引起了很大的反响,我们将在本文中对
阅读全文
摘要:新闻 Kotlin 1.0 正式发布: JVM 和 Android 上更好用的语言 赶紧去学习一下 Android Marshmallow系统占比首次超百分之1.0 可喜可贺啊,你吃到 Marshmallow 系统了吗 教程 阅读Android源码的一些姿势 你是怎么阅读源码的 Android逆向分
阅读全文
摘要:教程 BottomSheets 源码解析 国内第一篇 BottomSheets 源码解析 Google Play services 8.4 的 8 项改进 快去试试吧 在Android中使用反射到底有多慢? 真实案例分析 Android开发必备知识:为什么说Kotlin值得一试 来说说吧 为什么说
阅读全文
摘要:教程 BottomSheets 源码解析 国内第一篇 BottomSheets 源码解析 Google Play services 8.4 的 8 项改进 快去试试吧 在Android中使用反射到底有多慢? 真实案例分析 Android开发必备知识:为什么说Kotlin值得一试 来说说吧 为什么说
阅读全文
摘要:新闻 Android N或取消应用抽屉 设计更趋近iOS 设计也在进化 对升级速度忍无可忍 谷歌或将收回安卓控制权 坑否 Google为手表App开发者推出了Google Play Services中国特别版 看起来很美好 Google发布J2ObjC 1.0:将Java转换为Objective-C
阅读全文
摘要:教程 看 Twitter 如何利用 Android 6.0 中的“瞌睡模式”来改进通知性能 Google Cloud Messaging (GCM) (介绍戳我)与 Android 6.0 Marshmallow 中的瞌睡模式(Doze)配合使用,为用户带来性能和可用性改进。二者配合使用的情况下,普
阅读全文
摘要:新闻 Android 7.0发布时间曝光 预计今年夏季推出 最近在手机操作系统方面的焦点自然就是iOS9.3正式版系统将与本月21日正式推送,诸多的新功能的加入以及修善多种致命BUG让人越发是期待不已,而另一边安卓阵营也是丝毫没有休着,因为Android 7.0也接连曝光了。 教程 App架构之组件
阅读全文
摘要:新闻 教程 Gradle依赖的统一管理 理解Java垃圾回收机制 浅谈 Android 编程思想和架构 由Android 65K方法数限制引发的思考 Android音频开发(1):基础知识 Android音频开发(2):如何采集一帧音频 Android音频开发(3):如何播放一帧音频 从开发者角度解
阅读全文
摘要:教程 零开始的Android新项目3 - MVPVM in Action, 谁告诉你MVP和MVVM是互斥的 去年5月左右的时候,笔者在逛GitHub的时候,看到了一个MVP的项目,叫做mosby,仔细看了源码和作者介绍的文章后,发现确实有点意思,虽然会需要多写几个类和方法,但是解决了activit
阅读全文
摘要:教程 适配 Android N 多窗口特性的 5 个要诀 Android N 的一大新特性是支持多窗口,为此开发者应该做哪些准备工作呢?这里 Google 工程师 Ian Lake 告诉你 5 大要诀.使用多窗口分屏功能,能够并排地同时看到两个应用。你可能非常兴奋,想知道这是如何做到的,于是立刻去查
阅读全文
摘要:教程 FB App 优化工具 ReDex 优化的 6 点及未优化的 1 点 ReDex 是 Facebook 开源的工具,通过对字节码进行优化,以减小 Android Apk 大小,同时提高 App 启动速度。去年十月 Facebook 就写过一篇文章《Optimizing Android byte
阅读全文
摘要:教程 Retrofit分析-漂亮的解耦套路 万万没想到Retrofit会这么火,在没看源码之前,我简单的认为是因为它跟OkHttp同出一源(Square),所以才会炒的那么热。又或者是因为它能支持RxJava,所以火上浇油,一发不可收拾。后来看过Retrofit源码之后,我才理解为什么它倍受关注,是
阅读全文
摘要:新闻 Android输入法(Google Keyboard)迎来单手模式等新功能 Google 发布 2015年度 Android 安全报告 教程 Android性能优化典范(五) 这是Android性能优化典范第5季的课程学习笔记,拖拖拉拉很久,记录分享给大家,请多多包涵、担待指正!文章共有10个
阅读全文
摘要:教程 ART虚拟机是如何内建支持MultiDex的? 项目的代码量越来越大,引入的jar越来越多,由于Dalvik虚拟机作者当初对Method量的短视,最终造成了Dex方法数超标的悲剧。Google为此提供了MultiDex这一补丁方案。MultiDex分为两部分,一部分是编译时需要的IDE插件,它
阅读全文
摘要:教程 那些你应该知道却不一定知道的—View坐标分析汇总 网上关于Android 的view坐标挺多的,写这篇的目的是因为网上搜到的文章大多较简单,几乎都是简单的介绍下获取的几个方法坐标的几个方法罢了,但在实战中,你会发现可能你学会的那几个获取坐标的方法并没有正确的使用,导致当你要计算坐标的时候可能
阅读全文
摘要:教程 当数学遇上动画:讲述ValueAnimator、TypeEvaluator和TimeInterpolator之间的恩恩怨怨 其实关于ValueAnimator的内部工作原理大家也都清楚,本文只是选择从数学函数的角度来解析这个原理,方便理解。看完了本节之后我们就更加清楚如何借助TypeEvalu
阅读全文
摘要:教程 你需要知道的Android拍照适配方案 说起调用系统相机来拍照的功能,大家肯定不陌生,现在所有应用都具备这个功能。例如最基本的,用户拍照上传头像。Android开发的孩纸都知道,碎片化给拍照这个功能的实现带来挺多头疼的问题。所以,我决定写写一些网上不多见但又经常听到童鞋们吐槽的问题。Andro
阅读全文
摘要:教程 应用首页Activity的单例实现 目前有一部分android APP需要这样一种场景,即应用需要保留一个应用首页主Activity,其它子Activity永远在主Activity之上,跳转到子Activity之后,不管以哪种方式跳转,最终都可以返回到主Activity,这种场景有点类似主桌面
阅读全文
摘要:新闻 教程 Android Framework 如何学习,从应用到Framework层怎么平稳过度? 看了深入理解安卓1,看到第7章,看了安卓源码情景分析,看到日志那章,还看了一点安卓内核剖析,看着看着就看不动了,现在又拐回来看应用,关于系统方面的书前面讲原理的比较多,以至于工作中感觉接触到AMS,
阅读全文
摘要:教程 如何构建Android MVVM应用程序 Databinding 是一种框架,MVVM是一种模式,两者的概念是不一样的。我的理解DataBinding是一个实现数据和UI绑定的框架,只是一个实现MVVM模式的工具。ViewModel和View可以通过DataBinding来实现单向绑定和双向绑
阅读全文
摘要:教程 集成第三方推送最佳实践 Android在国内没有办法利用系统级的推送服务,再加上第三方rom对于原生的各种定制(这里的定制并无褒贬之意)所以国内的开发者就需要选择一些成熟的推送平台做推送服务了。目前的推送平台种类繁多,本文将给出推送平台的具体对比和调研结果,方便后来人进行选择。因本人对于国外的
阅读全文
摘要:教程 详解Android N适配要点 Google即将发布的Android7.0的预览版Android_N为我们增加了许多新的特性,其中包括多窗口的支持、通知栏支持直接回复、网络数据节省开关、以及新的DOZE模式等等。 5小时搞定谷歌原生自动化框架UiAutomator1.0 谷歌对UI测试(UI
阅读全文
摘要:教程 深入浅出 RecyclerView 这篇文章分三个部分,简单跟大家讲一下 RecyclerView 的常用方法与奇葩用法;工作原理与ListView比较;源码解析; 从零开始的Android新项目7 - Data Binding入门篇 Data Binding自从去年的Google I/O发布
阅读全文
摘要:教程 从零开始的Android新项目8 - Data Binding高级篇 承接上篇,本篇继续讲解一些Data Binding更加进阶的内容,包括:列表绑定、自定义属性、双向绑定、表达式链、Lambda表达式、动画、Component注入(测试)等。 深入理解 ButterKnife,让你的程序学会
阅读全文