安卓杂记1

1.Activity有一个叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。
onCreate方法的完整定义如下:

public void onCreate(Bundle savedInstanceState){
       super.onCreate(savedInstanceState);
}

Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。

savedInstanceState,是保存实例状态,也就是保存Activity的状态。savedInstanceState中的状态数据是从Activity的另一个方法onSaveInstanceState而来的。

onSaveInstanceState方法用来保存Activity的状态。当一个Activity在生命周期结束前,会调用该方法保存状态到savedInstanceState。

public void onSaveInstanceState(Bundle savedInstanceState){
       super.onSaveInstanceState(savedInsanceState);
}

状态这个参数有很大的用途,比如:一个游戏在退出前,保存一下当前游戏运行的状态,当下次开启时能接着上次的继续玩下去。


2.Activity有个叫setContentView(R.layout.main)的方法。

R.layout.main是个布局文件。
setContentView就是设置该Activity采用R.layout下的main布局文件进行布局。

使用setContentView可以在一个Activity中动态切换显示不同的界面。


3.Context描述的是一个应用程序环境的信息,即上下文。
应用程序创建Context实例的情况有如下几种情况:

1、创建Application 对象时, 而且整个App共一个Application对象
2、创建Service对象时
3、创建Activity对象时

因此应用程序App共有的Context数目公式为:
总Context实例个数 = Service个数 + Activity个数 + 1(Application对应的Context实例)

final View v = new View(MainActivity.this); 
把activity context传递给view,意味着view拥有一个指向activity的引用,进而引用activity占有的资源


4.invalidate()在UI线程中进行工作用来刷新View。比如在修改某个view的显示时,调用view.invalidate()才能看到重新绘制的界面。
View的onDraw()调用时机:
1、onDraw是在View初化完成之后开始调用
2、调用postInvalidate()或invalidate()后系统会重新调用onDraw方法画一次


5.Handler类
主要接受子线程发送的数据(sedMessage()方法传递Message对象,里面包含数据),并用此数据配合主线程更新UI。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值