android 高级进阶
VIPqiangqiang
这个作者很懒,什么都没留下…
展开
-
RelearLayout 无法准确测量高度
RelearLayout如果指定高度,在其子控件未填充满该控件时,在使用时必须指定android:minHeight 否则原创 2014-07-30 16:18:24 · 751 阅读 · 0 评论 -
完美解决 trying to use a recycled bitmap android.graphics.Bitmap@41d的异常
在最近一个项目中,因为要使用AnimationDrawable进行动画播放,图片质量都比较大,而且播放的频率会很多,开发的行车记录仪的内存又有限,刚开始并没有将Bitmap recycle掉,所以出现了OOM的异常。为了解决内存溢出问题,在退出当前页面的时候,将Bitmap recycle掉。但是在此又遇到了另外一个问题,退出当前界面再进入这个页面的时候会报出 trying to use原创 2017-03-06 17:13:46 · 27538 阅读 · 2 评论 -
从DecorView PhoneWindow ViewRootImpl类分析View绘制的流程
从上两篇博客 《从setContentView方法分析Android加载布局流程》 和 《从LayoutInflater分析XML布局解析成View的树形结构的过程》 中我们了解到Activity视图UI是怎么添加到Activity的根布局DecorView上面的。我们知道Activity中的PhoneView对象帮我们创建了一个PhoneView内部类DecorView(父类为Frame转载 2016-03-04 18:40:45 · 473 阅读 · 0 评论 -
从setContentView方法分析Android加载布局流程
setContentView来从源码分析一下XML布局是怎么加载到当前Activity上的。Activity#setContentView我们知道,Activity是在onCreate方法中使用setContentView方法来加载布局的,那么它内部的源码是怎么实现的呢?Setp 1处于好奇,我们进入了Activity的源码,找到setContentView方法如下转载 2016-03-04 18:54:00 · 417 阅读 · 0 评论 -
Android 一张图看明白Hander的运行机制
另外:之前记得一次面试被问到在子线程是否可以创建Hander并发送消息的时候,因为没有这么做过没有答上来,之后看了一下源码,必须可以的。但是前提是你必须得手动调用Looper.prepare()方法来保证 你的Looper对象不为空和主动调用Looper.loop()方法。那为什么之前我们在主线程中使用Hander的时候没有手动调用Looper.prepare()方法却没有报错呢,请移步到Loop原创 2015-11-09 17:56:05 · 720 阅读 · 0 评论 -
Android自定义View的实现方法,带你一步步深入了解View(四)
转载自 http://blog.csdn.net/guolin_blog/article/details/17357967转载 2014-08-18 16:15:03 · 542 阅读 · 0 评论 -
Android视图绘制流程完全解析,带你一步步深入了解View(二)
转载自http://blog.csdn.net/guolin_blog/article/details/16330267转载 2014-08-18 16:10:14 · 528 阅读 · 0 评论 -
APK root权限静默安装、卸载
引入TrineaAndroidCommon@Github(欢迎star和fork^_^)作为你项目的library(如何拉取代码及添加公共库),或自己抽取PackageUtils.installSlient(PackageUtils.uninstallSilent)函数进行调用,系统授权管理会弹出对话框让用户选择是否允许应用获得root权限。允许的话即可静默安装。原创 2014-08-22 16:39:06 · 946 阅读 · 0 评论 -
基于XMPP协议的Android IM研究(asmack)
之前在做基于XMPP协议的Android IM项目的过程中遇到了不少问题,由于国内这方面的资料相对比较少,而且不够全面,经过不断的学习和请教,项目有了一点进展,下面分享一下在项目的过程中遇到的问题和解决办法。首先,声明XMPP连接:Java代码 publicstatic finalConnectionConfiguration connConfig = new转载 2014-08-11 10:31:27 · 901 阅读 · 0 评论 -
Android LayoutInflater原理分析,带你一步步深入了解View(一)
转载自 http://blog.csdn.net/guolin_blog/article/details/12921889转载 2014-08-18 16:19:19 · 515 阅读 · 0 评论 -
Android视图状态及重绘流程分析,带你一步步深入了解View(三)
在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程,了解了视图绘制流程中onMeasure、onLayout、onDraw这三个最重要步骤的工作原理,那么今天我们将继续对View进行深入探究,学习一下视图状态以及重绘方面的知识。如果你还没有看过我前面一篇文章,可以先去阅读 Android视图绘制流程完全解析,带你一步步深入了解View(二) 。相信大家在平时使用View的时转载 2014-08-18 16:12:39 · 607 阅读 · 0 评论 -
Android 动态更改Shape(GradientDrawable) 及Seletor(StateListDrawable)资源
Shape(GradientDrawable)android.graphics.drawable 类 GradientDrawable java.lang.Object SubClass android.graphics.drawable.Drawable SubClass android.graphics.drawable.GradientDrawable public class Gradi...转载 2018-06-25 10:57:24 · 971 阅读 · 0 评论