Android知识巩固—四大组件能否开多进程

Android 应用是可以开启多个进程的,就是在 AndroidManifest 中使用 android:process 属性,比如要给某一 Activity 指定运行进程,则在其 标签中添加 android:process 属性即可。那么,其它的三种组件是否也可以为其指定运行进程呢?也就是说,Android的四大组件是否都可以开启多进程?写个Demo来验证一下:

package com.example.testdemo;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
     

    @Override
    protected void onCreate(Bundle savedInstanceState) {
     
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("MainActivity", "主进程号为:" + Util.getCurProcessName(this));

        startActivity(new Intent(this, TestActivity.class));

        startService(new Intent(this, TestService.class));

        sendBroadcast(new Intent("com.example.testdemo.TestBroadcast"));

    }
}

<activity
            android:name=".TestActivity"
            android:process=":TestActivity">
            <intent-filter>
                <action android:name="TestActivity" />
                <category android:name="android.intent.category.DEFAULT" />
            intent-filter>
        activity>

        <service
            android:name=".TestService"
            android:process=":TestService">service>

        <receiver
            android:name=".TestBroadcast"
            android:process=":TestBroadcast">
            <intent-filter>
                <action android:name="com.example.testdemo.TestBroadcast">action>
            intent-filter>
        receiver>

Android知识巩固—四大组件能否开多进程_第1张图片

你可能感兴趣的:(Android随笔,个人知识巩固)