摘要:
我们知道,在微信或者QQ聊天的时候,会出现至少两种布局,即收到的消息和自己发送的消息,这种效果可以用listView来实现。类似于下面这样的界面。 主要在Adapter的getView()里面下笔。 通过 @Override public int getItemViewType(int positi 阅读全文
摘要:
1、java堆得Young区由哪些组成: Java堆由Perm区和Heap区组成,Heap区由Old区和New区(也叫Young区)组成,New区由Eden区、From区和To区(Survivor)组成。 2、实现ContentProvider需要实现哪些方法: insert、delete、quer 阅读全文
摘要:
JVM的内存分配主要基于两种,堆和栈。 我们来看一下java程序运行时候的内存分配策略: 1):静态存储区(方法区); 2):栈区; 3):堆区; 1):主要存放静态数据,全局static数据和常量。 2):在java中,栈的分配是和线程绑定在一起的,当我们创建一个线程的时候,很显然,JVM就会为这 阅读全文
摘要:
之前在做笔试题的时候遇到一个问题:Activity A切换到ActivityB时,A和B的生命周期变化。 事实上,它们的生命周期变化是这样的: 1、A的onPause()方法被执行。 2、B的onCreate()方法,onStart(),onResume()方法被顺序执行。 3、如果B是不透明的,A 阅读全文
摘要:
二分查找:分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成 阅读全文
摘要:
1、android系统架构: Linux内核——标准库——Framework层——应用层 Linux层包括:Android系统的核心服务,硬件驱动,进程管理,系统安全等等 (现在又加了一层变成了:Linux内核——硬件抽象层——标准库——Framework层——应用层) 2、UI界面框架图: 3、V 阅读全文
摘要:
1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3、按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDes 阅读全文
摘要:
自定义View有三个构造方法,它们的作用是不同的。 第一个是new 一个对象的时候调用。 第二个是在XML文件声明的时候调用。 系统默认只会调用前两个构造函数,至于第三个构造函数的调用,通常是我们自己在构造函数中主动调用的。 阅读全文
摘要:
getMeasuredWidth 为view的测量宽度。 getWidth为view的最终宽度。 (这里只讨论宽度,高度也是一样的道理) 那么它们之间有什么区别呢? 测量宽度是在view的measure过程中形成的,而最终宽度是view的layout过程中形成的。这是它们之间的区别,它们的大小在大多 阅读全文
摘要:
很多初学者都会犯一个错误 ,就是在onCreate或者onStart里面去获取view的大小,然而这样获取到的宽高通常都是0,为什么呢?因为view的测量过程和activity的生命周期不是同步的,因此无法保证执行了onCreate、onStart、onResume的时候view已经测量完毕。如果还 阅读全文