AndroidStudio 线程

本文介绍了一个简单的Android应用程序示例,该应用通过启动后台线程并使用循环来不断更新计数器,每秒记录一次当前线程ID及运行次数,展示了如何在Android环境中管理和监测后台线程的运行。
package com.example.sofia.testactivityactive;


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;


public class MainActivity extends AppCompatActivity {
    MyThread thread = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        //启动线程
        thread = new MyThread();
        thread.start();
    }


    //线程处理类 Thread  **************************************
    public class MyThread extends Thread {


        @Override
        public void run() {
            int iCount = 0;
            while( true ){
                try {
                    Thread.sleep(1000);//1秒
                    iCount++;
                    Log.e( "Thread Aread", "CurrentThread id:---->" + Thread.currentThread().getId() + Thread.currentThread().getName() + " Times:" + iCount  );


                } catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }//while
        }//run
    }//MyThread
}
### 如何在 Android Studio 中正确使用线程多线程编程 #### 使用 `Thread` 类继承方式创建新线程 一种常见的做法是在 Android 应用中通过继承 `Thread` 类并重写其 `run()` 方法来定义新的工作单元。这种方式适合于那些只需要执行一次的任务。 ```java class MyTask extends Thread { @Override public void run() { super.run(); // 执行耗时操作 } } new MyTask().start(); // 启动线程 ``` 这种方法虽然直观,但在实际项目里较少单独使用[^1]。 #### 实现 `Runnable` 接口的方式(推荐) 更灵活且被广泛采用的方法是实现 `Runnable` 接口,并将其传递给 `Thread` 的构造函数。此模式允许同一个任务对象由多个线程共享,提高了资源利用率。 ```java new Thread(new Runnable() { @Override public void run() { while (true){ try{ Thread.sleep(3000); // 模拟每三秒钟更新UI的需求 // 更新界面逻辑应放在主线程中完成, 可考虑Handler机制 }catch(Exception e){ Log.e("Error",e.getMessage()); } } } }).start(); ``` 值得注意的是,在上述例子中直接修改 UI 是不允许的;应当借助 Handler 或其他消息传递机制通知主线程进行视图刷新[^4]。 #### 利用手势库简化多线程管理 对于复杂的场景,建议利用更高层次抽象的手势库如 AsyncTask、Loader 或者 Lifecycle-aware Components 来简化并发控制流程。特别是当涉及到网络请求或其他 I/O 密集型作业时,这些工具可以有效减少手动编写同步代码的工作量,同时也降低了潜在错误的发生几率[^2]。 为了确保应用程序既响应又高效运行,合理规划后台任务至关重要。考虑到功耗优化等因素,现代 Android 开发还提倡尽可能地将长期运行的服务迁移到 WorkManager API 下面去处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值