对同步与异步的概念上的理解:
同步:就是调用模块等待一个被调用体返回后,再继续下一步。
比如:刷牙-->洗脸-->吃饭
异步:就是调用模块发起调用之后,不用等待调用返回就继续下一步了。
当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
比如:下载视频A-->先去看其他视频B-->视频A下载完会提示(比如弹窗)。
在这里顺带讲下AsyncTask异步类的doInBackground(Void... params)方法中的参数的Void... params:
Void... params 等价于Void[] params, 是说 多个void类型的参数。
LayoutParams的理解:
代码演示:
LinearLayout mLayout;
mLayout = (LinearLayout) findViewById(R.id.layout);//实例化LinearLayout控件 TextView textView = new TextView(this); //实例化 TextView控件假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。
比如说:在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。
但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
1,一个确定的值。
2,FILLPARENT,即填满(和父容器一样大小)。
3,WRAPCONTENT,即包裹住组件就好。