ART运行时与Dalvik虚拟机同样,都使用了Mark-Sweep算法进行垃圾回收,所以它们的垃圾回收流程在整体上是一致的。可是ART运行时对堆的划分更加细致,于是在此基础上实现了更多样的回收策略。不一样的策略有不一样的回收力度,力度越大的回收策略,每次回收的内存就越多,而且它们都有各自的使用情景。这样就可使得每次执行GC时,能够最大限度地减小应用程序停顿。本文就详细分析ART运行时的垃圾收集过程。android
在Android开发中咱们经常会和API 打交道,可能你不想,可是这是避不开的。大部分状况下,调试发送网络请求和接收响应的过程都是十分痛苦的。有多少次咱们通过调试发现API的调用失败仅仅是由于咱们的编码错了或者丢失了一个HTTP头部参数?在调试的过程当中,咱们发现出现错误的缘由千奇百怪。github
ART运行时和Dalvik虚拟机同样,在堆上为对象分配内存时都要解决内存碎片和内存不足问题。内存碎片问题可使用dlmalloc技术解决。内存不足问题则经过垃圾回收和在容许范围内增加堆大小解决。因为垃圾回收会影响程序,所以ART运行时采用力度从小到大的进垃圾回收策略。缓存
Android性能优化典范性能优化
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每一个3-5分钟,帮助开发者建立更快更优秀的Android App。课程专题不只仅介绍了Android系统中有关性能问题的底层工做原理,同时也介绍了如何经过工具来找出性能问题以及提高性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优化。下面是对这些问题和建议的总结梳理。网络
50个Android开发技巧(20 使用MVP模式)前端工程师
随着UI建立技术的功能日益加强,UI层也履行着愈来愈多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专一于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。并发
Android Developer Tools(开发人员工具)
在作Android开发的过程当中,不可避免地须要使用到自带的android developer tools(开发人员工具),这是一个强大的开发辅助工具,随着android版本的更新,developer tools也集成了愈来愈多十分方便的调试功能,这里以android 4.4.4版本为例子,说说其中一部分我经常使用工具的使用.
本秘籍收录了一些Git和Github很是酷同时又少有人知的功能。同时有英文、韩文、日文版本。
在很早以前我发布了这篇博客Android BuildConfig.DEBUG的妙用, 提到了Eclipse中经过BuildConfig.DEBUG字段用来调试Log很是好用,可是却不知在Android Studio中经过Gradle这种用法更增强大。
Guava工程包含了若干被Google的 Java项目普遍依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 全部这些工具天天都在被Google的工程师应用在产品服务中。
建立一个对开发人员友好的、简单轻量的线程间通信框架,彻底不用锁、同步器、信号量、等待和通知,在Java里开发一个轻量、无锁的线程内通信框架;而且也没有队列、消息、事件或任何其余并发专用的术语或工具。
一个实现窗帘效果的库。
一个能够给Title增效动画效果的库,已实现效果有左右切换、上下切换和3D切换效果。
知乎 Android 客户端启动页的视差动画效果实现.
一个方便你给Activity添加功能说明的库。
一个能够显示路径动画的自定义View,同时也支持从SVG文件加载路径动画。
一个监听网络链接状态而且能够改变Wifi信号强度的库。
一个方便你控制RecyclerView中Item之间分割线样式的库。
一个使用OpenGL ES Shaders模仿了Instagram滤镜效果的项目。
This is a very simple library for Android that allows you to stick an header to a scrollable view and easly apply animation to it
这是一个很是简单的库,可让你轻松的给你一个可滚动的View添加stick Header而且能够添加动画效果。
一个Socket.io的Demo项目。
本次主要更新:
能够帮你自动生成版本号和版本名称的插件。
课程使用百度地图SDK,由浅入深的带领你们从申请百度地图API Key开始,一步一步实现地图在APP中的常见的功能,整体包括地图的引入、基本设置、模式的切换、定位的功能、方向传感器的结合、以及添加覆盖物。
重磅教程!帮你全面完全搞定MATERIAL DESIGN的学习笔记
自从Material design发布以来,可乐橙就在一直收集相关素材与资源,研究别人的做品。这套设计风格很是鲜明,带有浓郁的Google式严谨和理性哲学,深得我心。
一些原本尺寸很大,质量很不错的高清png图片,通过缩小转为icon时却变得惨不忍睹。这对于高清控与细节控来讲简直无法忍,今天分享一篇关于利用Photoshop cs6网格对齐功能绘制高清icon的文章。
这是一份为想学 Sketch 的设计师、前端工程师们准备的不彻底列表,包含了 Sketch 视频、文章、手册等。