推荐当贝市场

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 17387|回复: 0

[教程] android的activity学习

[复制链接]
发表于 2013-8-28 16:29 | 显示全部楼层 |阅读模式
7
activity生命周期   
docs/index.html   
1
、onCreate:第一次被启动、   
2、onStart:activity可视时调用、   
3、onResume:activity获得用户焦点是被调用、   
4、onPause:启动另外一个activity时被调用、   
5、onStop:另一个activity启动完成后被调用(第一个Activity处于不可见的状态)、   
若启动另外一个activity时,onStop方法未执行,当重新回到第一个activity时直接调用OnResume   
6
、onRestart:第一个activity未被销毁前又重新启动时被调用,执行完之后继续执行onStart   
7
、onDestroy:activity代码中执行finish方法时或者android系统资源不够用时自动销毁时调用
窗口形态的activity   
在manifest.xml中定义activity时指定android:theme="@android:style/Theme.Dialog"即可
activity还要考虑能否被kill掉,资源被系统回收,(被调用onPause onStop onDestroy的activity有可能被资源紧缺的系统所销毁)
Task   
存放多个activity的栈
五、handler的使用   
线程的生命周期:就绪、运行、阻塞、死亡
1、创建一个handler对象:   
Handler handler = new Handler();   
2
、调用post方法   
handler.post(updateThread);//把线程updateThread放入消息队列中去   
3、定义线程,并在run方法内部执行postDelayed或post方法继续循环   
Runnable updateThread = new Runnable(){   
public void run(){   
     
  //
执行自定义操作   
  //过3000毫秒后再把线程放入消息队列中去被调用执行  handler.postDelayed(updateThread,3000);   
}   
};   
4
、调用removeCallbacks   
handler.removeCallnacks(updateThread);//
从消息队列中移除线程,结束handler
   
执行   
handler.post(updateThread);   
1
、   
Runnable updateThread = new Runnable(){   
public void run(){   
     
  i =+ 10; //
得到一个消息对象,Message类是由android系统提供   
  Message msg = handler.obtAInMessage();   
     
  msg.arg1 = i;   
     
  //
将msg加入到消息队列中,然后会异步的执行handler的handleMessage方法取出消息   
  handler.sendMessage(msg);   
  if(i == 100){   
   handler.removeCallbacks(updateTread);   
  }   
}   
};
2、使用匿名内部类复写Handler的handleMessage,取出消息队列中的Message对象   
Handler handler = new Handler(){   
public void handleMessage(Message msg){   
  bar.setBarProgress(msg.arg1);   
  //
将线程继续加入到队列当中   
  handler.post(updateThread);   
}   
};
以上处理线程的过程中并没有建立新的线程,而是直接执行当前activity线程的run方法,若用以下方法,则定义一个新的线程并去执行新线程   
Thread t  = new Thread(r)   
t.start();   
Runnable updateThread = new Runnable(){   
public void run(){}   
};
</div
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

Archiver|小黑屋|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

GMT+8, 2026-11-7 10:03 , Processed in 0.021971 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表