当前位置:首页 » 安卓系统 » androidactivity线程

androidactivity线程

发布时间: 2022-06-24 09:11:58

① android线程里怎么启动一个ACTIVITY-CSDN论坛

  1. CSDN论坛是个讨论的地方,下载资源的地方

  2. android子线程不能进行ui操作

  3. android子线程可以通过handler发送消息,然后主线程启动ACTIVITY

  4. 启动activity,可以startActivity和startActivityForResult

② Android: 一个Activity开辟的线程,在这个Activity调用finish()的时候会强制关闭这个线程吗

不会,你可以在onDestory中手动终止该线程

③ android:当Activity和Service 都被销毁后,如何控制其中生成的线程

1.首先
android
一个程序中
的activity
都是一个线程,service和activity也是一个线程
2.在activity
中启动一个子线程,当前activity
finish
destroy掉
子线也会运行的。
3.在service里的线程
与activity很类似
service即使停止了
线程也在运行(要先停止服务
再把最近使用的进程杀掉
线程会停止
,如果直接杀掉进程
android会再次自动启动这个service的
此时即使再停止service服务
线程也会一直运行了除非关机)
activity
finish
子线程依旧可以运行,即使程序退出了子线程也在运行
(除非在任务管理器里
把最近使用的进程杀掉)
4.JVM有很好的管理机制,系统最后会自动释放回收。作为手动回收来说,你可以调用interrupt

④ android 编程中怎么关闭activity线程

在Activity开启的子线程并不会自动随Activity的destroy而关闭,所以必须手动去关闭子线程或者通过boolean的方式让子线程结束运行。开启的子线程有for循环的要更加注意。

1 package com.lsw;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.os.Handler;
6 import android.os.Message;
7 import android.util.Log;
8 public class ThreadDemoActivity extends Activity {
9 private static final String TAG = "ThreadDemo";
10 private int count = 0;
11 private Handler mHandler = new MyHandler();
12 boolean stopThread=false;
13
14 private Runnable mRunnable = new Runnable() {
15
16 public void run() {
17
18 while (!stopThread)
19 {
20 count++;
21 try
22 {
23 Thread.sleep(2000);
24 }
25 catch (InterruptedException e)
26 {
27 // TODO Auto-generated catch block
28 e.printStackTrace();
29 }
30
31 //虽然Message的构造函数是public的,但是最好是使用Message.obtain( )或Handler.obtainMessage( )函数来获取Message对象,因为Message的实现中包含了回收再利用的机制,可以提供效率。
32 Message message=mHandler.obtainMessage();
33 message.what=0;
34 message.obj=count;
35 mHandler.sendMessage(message);
36 }
37 }
38 };
39
40 @Override
41 public void onCreate(Bundle savedInstanceState) {
42 super.onCreate(savedInstanceState);
43 setContentView(R.layout.main);
44 //开启子线程
45 new Thread(mRunnable).start();
46 }
47
48 protected void onDestroy() {
49 System.out.println("-----------onDestroy------");
50 stopThread=true;
51 super.onDestroy();
52 };
53
54 class MyHandler extends Handler{
55
56 @Override
57 public void handleMessage(Message msg)
58 {
59 // TODO Auto-generated method stub
60 Log.e(TAG, Thread.currentThread().getName() + " " +msg.obj);
61 setTitle("" +msg.obj);
62 }
63 }
64
65 }

⑤ android在activity启用线程,没有出错,调试过了,不执行run()方法,附上代码。

我 直接给你上代码了,你看看线程是怎么用的,希望你自己学会他!
public void OnClick(){
MyThread t1=new MyThread();
t1,start();
}

class MyThread implements Runnable {
public void run() {
你的代码

}
}

⑥ Android中是不是新开一个activity就是新建了一个线程

不是的,Android中所有的Activity都是在一个线程中,也就是我们所说的主线程(UI线程)。另外Activity 和 线程本身是两个跨度很大的概念。

⑦ android activity子线程和主线程的区别

绝大部分情况下,UI操作的事情只能在主线程进行,所以主线程又被成为UI线程。但是有些比较耗费时间的操作如果放在主线程处理的话,会造成主线程阻塞,主线程阻塞了,手机就会卡顿。所以耗时的操作就应该放到子线程去处理。主线程要一直处于空闲的状态。

⑧ 在android的Activity主线程被杀死的时候,在这个Activity中创建的子线程怎么处理,是不是也会被杀死呢

它会自己执行完的
所以才会经常出现一个异常,activity
finish了,但是activity里面开启的线程加载数据,完成后去修改
activity
的UI,这个时候就会报错。因为你要赋值的那个TextView或者其他控件已经不存在了。

⑨ android:线程跳转到另一个activity时,新activity不能创建线程

这个问题只需要了解Activity的启动模拟即可。
Activity启动模式有4种,分别为standard、singleTop、singleTask、singleInstance。

1.standard 默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。

2.singleTop 可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。
3.singleTask 只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。
3.singleInstance只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。

⑩ android开发中不同的activity是否在同一个线程

  • 首先activity是android的四大组件之一,我们看到的APP界面其实就是activity,所以activity是运行在主线程中的

  • 其次service跟activity一样,也是android的四大组件之一,主要实现不需要界面,在后台执行的耗时操作,但是他和activity一样,运行在同一个进程,如果结束当前activity所在进程,service也同样会结束,因此他们两个是运行在同一个进程中的,但不是同一个线程,service是用来处理耗时操作的,而且不需要界面支持,既然是耗时操作,就需要放在子线程中了,所以说service和activity需要在不同的线程中

  • 解决方法,如果想让service运行在不同线程中可以使用Thread,也可以使用handle,使service运行在中的耗时操作运行在子线程中

  • 或者在Manifest文件中为service设置android:process,如下图,此时service是运行在“包名+:remote”进程里面,注意:此时service和activity是在不同的进程里面,当然,此时的activity结束后,也不会影响到service

  • 我们还可以使用intentservice这个抽象类,我们可以继承实现它里面的方法,intentservice是直接运行在子线程里面的,可以直接在这里实现耗时操作

热点内容
电信路由器密码设置无线路由器怎么设置密码 发布:2024-05-18 10:55:00 浏览:647
安卓系统是属于哪个国家的手机 发布:2024-05-18 10:41:41 浏览:99
linux运维前景 发布:2024-05-18 10:24:44 浏览:658
c语言crc算法 发布:2024-05-18 09:59:03 浏览:644
linuxc编程视频 发布:2024-05-18 09:55:58 浏览:273
如何建造一个好的服务器 发布:2024-05-18 09:54:30 浏览:524
编译原理中的左结合 发布:2024-05-18 09:42:00 浏览:26
怎样加密路由器 发布:2024-05-18 09:41:55 浏览:605
百度云不能上传视频了 发布:2024-05-18 09:41:08 浏览:148
mac适合买大存储 发布:2024-05-18 08:30:08 浏览:583