Android Manifest 运行 Multiple Processes 这种方法是否有效或正确?
Android Manifest Running Multiple Processes Is this method efficient or correct?
哦,这是我的清单示例:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.x.x">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="com.x.x.Welcome_"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.x.x.MainActivity_"
android:screenOrientation="portrait"
android:launchMode="singleTop"/>
<activity
android:name="com.x.x.ImageActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.SettingsActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.CollectionActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.HowtoActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"/>
<activity
android:name="com.x.x.ABrowseACF_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.ABrowseACC_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
</application>
</manifest>
现在,由于我的应用程序的工作方式,我还需要另外大约 10 个活动来处理功能。这是做事的正确方法吗?只是大量添加到清单中?因为我尝试在未声明 [=20=] 和 OFC 的情况下加载意图,所以它破坏了应用程序,因为它找不到它。
这基本上就是 "read from these locations" 种情况吗?我只是在考虑性能。在通过意图调用之前,它们不会加载吗?
每个 activity 必须在清单 中声明,因为每个 activity 都是由 android 系统从清单文件中实例化的,这种方法允许您将每个 activity 形式的每个地方(另一个应用程序、adb shell 等)作为独立模块启动。活动不会加载,直到你(或系统)不通过意图调用它,所以不要担心性能,android 处理好,即使是不再可见的未使用的活动也可以被系统回收(当然如果 activity 没有特殊标记 rules)。有很多解决方案可以避免应用程序中的多个活动,只需使用 Fragments、Dialogs 或自定义视图即可。
但是如果您喜欢多个活动,您可以将您的应用拆分为多个 gradle 模块(android 库),每个模块都将包含自己的活动。是一个很酷的编程概念,代码必须在独立的逻辑组中调制。
哦,这是我的清单示例:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.x.x">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="com.x.x.Welcome_"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.x.x.MainActivity_"
android:screenOrientation="portrait"
android:launchMode="singleTop"/>
<activity
android:name="com.x.x.ImageActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.SettingsActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.CollectionActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.HowtoActivity_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"/>
<activity
android:name="com.x.x.ABrowseACF_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name="com.x.x.ABrowseACC_"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
</application>
</manifest>
现在,由于我的应用程序的工作方式,我还需要另外大约 10 个活动来处理功能。这是做事的正确方法吗?只是大量添加到清单中?因为我尝试在未声明 [=20=] 和 OFC 的情况下加载意图,所以它破坏了应用程序,因为它找不到它。
这基本上就是 "read from these locations" 种情况吗?我只是在考虑性能。在通过意图调用之前,它们不会加载吗?
每个 activity 必须在清单 中声明,因为每个 activity 都是由 android 系统从清单文件中实例化的,这种方法允许您将每个 activity 形式的每个地方(另一个应用程序、adb shell 等)作为独立模块启动。活动不会加载,直到你(或系统)不通过意图调用它,所以不要担心性能,android 处理好,即使是不再可见的未使用的活动也可以被系统回收(当然如果 activity 没有特殊标记 rules)。有很多解决方案可以避免应用程序中的多个活动,只需使用 Fragments、Dialogs 或自定义视图即可。
但是如果您喜欢多个活动,您可以将您的应用拆分为多个 gradle 模块(android 库),每个模块都将包含自己的活动。是一个很酷的编程概念,代码必须在独立的逻辑组中调制。