杂记

1. Activity启动模式

  (1)standard

    默认模式,每启动一个都会在任务栈中创建一个,back键会一次从栈中退出。

  (2)singleTop

    如果要启动的Activity在栈顶,则不会重新创建。

  (3)singleTask

    任务栈中没有这个Activity,则会在任务栈中创建一个实例,如果任务栈中已经存在,则会将任务栈中的此activity之上的activity全部出栈,然后调用此activity的onNewIntent.

  (4)singleInstance

    只有一个实例,运行于独立的task

2.layout_gravity 和 gravity

   android:gravity : 限定View的内容的位置,针对子布局

   android:layout_gravity  相对于父布局的位置。

3.时间管理:

  (1)进程切换非常昂贵,避免多任务,保持单进程。

  (2)研究表明,集中注意力、高效工作,每天最多4小时。

  (3)划分任务的优先级,不要把'急切'当作'重要'。

  (4)起床后,不要查看邮件和微信。

  (5)避免开会,因为人类已知的最浪费时间的事情,就是开会。

  (6)早晨4点起床,到了中午,你就完成了一天的任务。

  (7)你没空时不会做的事情,有空了也不会做。  (世上并没有拖延症,只是不想做而已。如果可能,应该尽早放弃你没有意愿去做的那些事。而那些没有时间也会去做的事,才是你应该全力以赴的人生方向。完全赞同,没时间永远是借口)

4.Android ConditionVariable:

  ConditionVariable用于线程同步,相当于wait(),但是更方便简单

  有三个方法: block() open() close()     

 1     public void block()
 2     {
 3         synchronized (this) {
 4             while (!mCondition) {
 5                 try {
 6                     this.wait();
 7                 }
 8                 catch (InterruptedException e) {
 9                 }
10             }
11         }
12     }
13 
14     public void open()
15     {
16         synchronized (this) {
17             boolean old = mCondition;
18             mCondition = true;
19             if (!old) {
20                 this.notifyAll();
21             }
22         }
23     }
24 
25     public void close()
26     {
27         synchronized (this) {
28             mCondition = false;
29         }
30     }

  从源码中可以看到,其实也是通过wait实现的,有一点需要注意 open过之后,只有close了,才能block住。

5.back键将应用放到后台,不退出

  复写onBackPressed()方法, 调用Activity的 moveTaskToBack()方法 即可。

6. Android ClassLoader

  PathClassLoader 只能操作dex文件

  DexClassLoader 能加载外部apk,jar,dex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值