1. app 最小的运行单位是进程,
2.message对象的获取 Message message = Message.obtain();
3, singleInstance, singleTask, singleTop, standard
standard: intent的时候都会在activity栈重新创建一个
singleTop: 如果activity栈里面没有就创建一个, 如果有并且在栈顶
就会把它上面的干掉, 自己放到栈顶, 如果在栈顶直接使用了;
singleTask: 只要栈里面有就直接使用了, 放于栈顶, 如果栈没有就创
建一个新的额
singleInstance: 为自己创建一个新的activity栈
启动模式为singleTask, 通过intent跳转activity的时候如果栈里面有, 生命周期是走
OnNewIntent方法;
4, popwindow和dialog的区别
( 1) , popwindow可以任意指定显示位置, dailog比较固定
( 2) , popwindow阻塞线程的(后台不能进行其他操作了)
dialog不阻塞线程的(后台可以进行其他操作)
popwindow设置属性:
this.setContentView(view);
this.setWidth(DisplayUtil.getDensity_Width(context));
this.setHeight(DisplayUtil.getDensity_Height(context) / 2);
this.setFocusable(true);//设置焦点
this.setBackgroundDrawable(newBitmapDrawable());//设置属性为了点击外部消失
2.message对象的获取 Message message = Message.obtain();
3, singleInstance, singleTask, singleTop, standard
standard: intent的时候都会在activity栈重新创建一个
singleTop: 如果activity栈里面没有就创建一个, 如果有并且在栈顶
就会把它上面的干掉, 自己放到栈顶, 如果在栈顶直接使用了;
singleTask: 只要栈里面有就直接使用了, 放于栈顶, 如果栈没有就创
建一个新的额
singleInstance: 为自己创建一个新的activity栈
启动模式为singleTask, 通过intent跳转activity的时候如果栈里面有, 生命周期是走
OnNewIntent方法;
4, popwindow和dialog的区别
( 1) , popwindow可以任意指定显示位置, dailog比较固定
( 2) , popwindow阻塞线程的(后台不能进行其他操作了)
dialog不阻塞线程的(后台可以进行其他操作)
popwindow设置属性:
this.setContentView(view);
this.setWidth(DisplayUtil.getDensity_Width(context));
this.setHeight(DisplayUtil.getDensity_Height(context) / 2);
this.setFocusable(true);//设置焦点
this.setBackgroundDrawable(newBitmapDrawable());//设置属性为了点击外部消失