相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的.而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的.其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是internal的,不太容易查看到.那么今天我们就来把LayoutInflater的工作流程仔细地剖析一…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12921889 有不少朋友跟我反应,都希望我可以写一篇关于View的文章,讲一讲View的工作原理以及自定义View的方法.没错,承诺过的文章我是一定要兑现的,而且在View这个话题上我还准备多写几篇,尽量能将这个知识点讲得透彻一些.那么今天就从LayoutInflater开始讲起吧. 相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是…
相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的.而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的.其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是internal的,不太容易查看到.那么今天我们就来把LayoutInflater的工作流程仔细地剖析一…
今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑.虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结. 使用自定义内部类view的规则 本文主要是总结why,所以先把XML布局文件中引用内部类的自定义view的做法摆出来,有四点: 自定义的类必须是静态类: 使用view作为XML文件中的tag,注意,v是小写字母,小写字母v,小写字母v: 添加class属性,注意,没有带android:命名空间的,表明该自定义view…
应用进程内 如何使用Intent做Activity的跳转 Intnet intent = new Intent(MainActivity.this,TestActivity.class); startActivity(intent); 我们通常会这样写,就能跳转到TestActivity中,但是你知道这简简单单的两行代码在我们庞大的安卓系统中经历了怎样的加工处理吗?接下来我带大家深入到系统内了解整个的启动过程 这里调用了startActivity的函数,这个函数被声明在了Context类中,然后…
最近在Android上做了一些动画效果,网上查了一些资料,有各种各样的使用方式,于是乘热打铁,想具体分析一下动画是如何实现的,Animation, Animator都有哪些区别等等. 首先说Animation(android.view.animation.Animation)对象. 无论是用纯java代码构建Animation对象,还是通过xml文件定义Animation,其实最终的结果都是 Animation a = new AlphaAnimation(); Animation b = ne…
实际业务使用场景: 某业务场景需要将本地数据传递到服务端,服务端再返回传递成功或者失败的信息. 1. 失败时: 重传5次 2.设置客户端请求的最小时间间隔,这个间隔内最多请求1次 具体逻辑如下:(这里请求的最小时间间隔设置为:80s,防止客户端由于某种异常频繁的调用服务端,造成服务端异常) 实现: handler 的实现: public class BindHandler extends Handler { private final static String TAG = "BindHandl…
作为一名Android开发者,写页面是最普通不过的事情了,在编写页面的时候,系统给提供了两种形式,一种形式是通过XML的方式进行编写,还有一种形式是通过Java代码直接编写   我们知道Android Framework是用Java编写,那就是说,所有的交互都是通过Java来完成,那么我们编写的XML文件又是怎样被转换成Java对象的呢?接下来我便为大家解惑,带大家进入Android世界,去了解Android世界内的奥妙!   我们事先准备好一个XML布局,如下 <?xml version=&quo…
一.概述 ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR.一般地,这时往往会弹出一个提示框,告知用户当前xxx未响应,用户可选择继续等待或者Force Close. 那么哪些场景会造成ANR呢? Service Timeout:服务在20s内未执行完成: BroadcastQueue Timeout:比如前台广播在10s内执行完成 Co…
copy from : http://gityuan.com/2016/09/17/android-lowmemorykiller/ frameworks/base/services/core/java/com/android/server/am/ProcessList.java platform/system/core/lmkd/lmkd.c kernel/common/drivers/staging/Android/lowmemorykiller.c 一. 概述 Android的设计理念之一…