- 博客(65)
- 资源 (15)
- 收藏
- 关注
原创 Android内存分析工具
Android的一些内存知识垃圾回收(GC)垃圾回收包含两个过程:判定阶段,也就是判断哪些对象可以被回收,收集阶段,是指具体的回收策略。判定阶段主要有两种方式引用计数,对象每多一个引用计数加1,少一个引用计数减1,计数为0时就表示这个对象可以被回收了。但是引用计数有个缺点,不能判断循环应用的情况,所以就有了下面的方式根搜索,从一些根对象(GCRoot)开始遍历搜索,如果一个对象无法被搜索到
2015-05-14 17:27:40
22305
原创 Android性能优化系列——Understanding Overdraw
过度绘制(Overdraw)是指在一帧的时间内像素被绘制了多次; 理论上一个像素每次只绘制一次是最优的,但是由于层叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,所以对重叠不可见元素的重复绘制会产生额外的计算,需要尽量减少Overdraw的发生。
2015-04-13 18:29:11
3001
原创 Android性能优化系列——Profile GPU Rendering
Android开发者选项中提供了Profile GPU Rendering功能,用于在屏幕上实时显示GPU渲染每一帧图像花费的时间(单位:ms)。渲染时间用柱状图表示,上面的绿线代表16ms,也就是要尽量保证所有柱状图都在这条线下方。每一条柱状图都由3部分组成,蓝色、红色和黄色,代表渲染的3个不同的阶段,通过分析这三个阶段的时间就可以找到渲染时的性能瓶颈。
2015-04-12 12:54:39
14564
原创 Android性能优化系列——VSYNC
概念VSYNC,vertical synchronizationRefresh Rate 屏幕一秒钟刷新的次数,由硬件决定,单位Hz,一般是60HzFrame Rate GPU在一秒内绘制的帧数,单位fps(Frames per second)具体解释GPU获取图形数据进行绘制,硬件将绘制好的数据呈现在屏幕上,为了使画面在屏幕上流畅的显示,需要保持Frame Rate 在60以上,也就是一次
2015-04-11 20:11:10
3430
原创 Android VectorDrawable与SVG
VectorDrawableAndroid L开始提供了新的API VectorDrawable 可以使用SVG类型的资源,也就是矢量图,这里对VectorDrawable和SVG做一些简要的介绍。
2015-03-01 20:01:53
40327
原创 Android layout文件中 '?' 的作用
在Android layout文件中,属性引用资源一般使用@,例如android:textColor="@color/white",但在一些系统文件中我们也可以看到有这样的写法 android:textColor="?android:color/textColor"。@是引用已经定义好的资源,? 用于使用当前主题的标签值。
2015-02-24 17:42:46
3370
原创 Android Easing Interpolator——一些动画插值器
Easing Fuction缓动函数实现的一些Android动画插值器Interpolator
2015-01-21 23:48:47
6235
原创 Android Volley分析(二)——实现
在Android Volley分析(一)——结构中主要分析了Volley的基本组件和框架结构,组件主要是定义的接口,也就是说我们可以实现这些接口来定制自己的Volley版本,比如NetWork、Cache、Request等等。Android Volley在com.android.volley.toolbox下已经做了这些工作,这里主要对这些实现做些分析。
2014-12-28 22:32:37
1726
原创 为Android HorizontalListView添加Scrollbar
最近由于项目需要,要实现一个横向滚动的列表,打算直接用HorizontalScrollView,但是因为没有视图复用,列表项多了之后会占用较多内存,排除;再想到用Gallery,但Gallery有一个自动定位到中央的动画效果,要去除这个效果的工作比较复杂。最后搜了一下找到了这个Android-HorizontalListView,实现了ListView的大部分功能,只是不支持Header、Foot
2014-12-07 23:25:03
4812
翻译 Android 内存泄漏
Andriod应用的堆栈大小在T-Mobile G1上被限制在16MB,对于一个手机这已经是很大的内存了,但对一些开发者来说还是不够。即使你不需要使用这么多的内存空间,你也应该尽可能地节省使用,这样就不至于在其他应用运行的时候将你的杀掉。Android可以在内存中缓存的应用越多,应用间的切换也就越流畅。作为我的一部分工作,我深入了解了Android应用内存泄漏问题,发现大多数都是同一类情况——长时
2014-09-17 17:41:12
1616
转载 Android保存图片到系统图库
http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/最近有些用户反映保存图片之后在系统图库找不到保存的图片,遂决定彻底查看并解决下。Adnroid中保存图片的方法可能有如下两种:第一种是自己写方法,如下代码:public static File saveImag
2014-09-14 20:10:32
65460
11
原创 Android系统截屏功能提取
Android在4.0版本之后同时按电源键和音量键可以截取当前屏幕,截图后会有一个过渡动画效果,这里提取了将效果这部分提取出来,可以用于应用截图分享功能。截图功能在源码中的位置是com.android.systemui.screenshot,下面有四个类其中主要工作都在GlobalScreenshot中,包括截图后的动画效果、保存到本地和显示到通知栏。为了简单,下面的代码只保留了过
2014-09-14 13:04:59
35128
5
原创 Android属性动画初步
Android动画系统Android动画系统包括View animation和Property animation,也就是视图动画和属性动画,属性动画有API限制,必须在API 11以上使用,不过有个开源项目NineOldAndroids,实现了对API 11之前版本的支持。视图动画相对于属性动画来说简单一些,只能对view做移动、旋转、缩放等处理,动画发生时改变View在屏幕上的绘制位置
2014-07-14 14:40:09
2659
Android系统截屏功能提取Demo
2014-09-15
Android背景滑动模糊的一种实现
2014-07-13
Android文字闪烁效果
2014-04-26
Android图片素描
2014-03-19
3DListView Part3
2014-03-17
3DListView Part2
2014-03-15
3DListView Part1
2014-03-10
改进的pageWidget
2012-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人