Android中的APK,TASK,PROCESS,USERID之间的关系 分类: ...

本文详细介绍了Android中进程、用户ID及Task与Apk之间的关系,包括不同条件下的进程分配原则,如不同Apk间的进程共享机制,以及如何通过设置属性实现特定组件运行在指定进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发Android已经有一段时间了,今天接触到底层的东西,所以对于进程,用户的id以及Android中的Task,Apk之间的关系,要做一个研究,下面就是研究结果:

apk一般占一个dalvik,一个进程,一个task。当然通过通过设置也可以多个进程,占多个task。

task是一个activity的栈,其中"可能"含有来自多个App的activity


默认情况下,同一个应用程序中的所有组件运行在同一个进程中(即默认运行在同一个进程中的一个线程中),而且绝大多数的应用程序也都是这样的。但是,如果我们想要控制让某个特定的组件属于某个进程,我们可以在manifest文件中进行配置。 


在每种组件元素(activity、service、receiver、provider)的manifest条目中,都支持一个 “android:process”的属性,通过这个属性,我们可以指定某个组件运行的进程。我们可以通过设置这个属性,让每个组件运行在它自己的进程中,也可以只让某些组件共享一个进程。我们要可以通过设置“android:process”属性,让不同应用程序中的组件运行在相同的进程中,这些应用程序共享相同的Linux用户ID,拥有相同的证书。 
<application>元素也有一个“android:process”属性,可以设置一个应用于全部组件的默认值。 


 当可用内存数量低,而一些与用户即时交互的进程又需要内存时,Android随时可能会终止某个进程。运行在被终止的进程中的组件会因此被销毁,但是,当再次需要这些组件工作时,就会再启动一个进程。 
在决定要终止哪个进程时,Android系统会权衡它们对于用户的重要性。例如,相较于运行可见activities的进程,终止一个运行不可见activities的进程会更加合理。是否终止一个进程,依赖于运行在这个进程中的组件的状态。 
如果不能将两个activity放入同一个application中的话,可以通过在各自的manifest中设置以下属性,让这两个activity强制运行在同一个进程中,从而可以充分利用进程内共享的资源,减少内存占用: 

Java代码  收藏代码
  1. 1)设置相同的User Id:  
  2. <manifest android:sharedUserId="aaa.bbb"  
  3. 2)被调用的activity设置以下属性:  
  4. <activity android:multiprocess="true"  
  5. 或者  
  6. <activity android:process="com.cienet.test"  

对于3D OpenGL程序,修改以上属性后,被调用的activity的内存占用会明显减少,比如:30MB -> 2MB。 

1. 同一Apk中的同一包中的多个Activity调用时进程状况验证

[1]创建Project: 

   project name: FirstProject 

   package: com.demo 

   默认Activity : MainActivity 

[2]添加一个新的Activity: 

   name: SecondActivity 

[3]修改布局。在MainActivity布局中添加一个Button,当点击此Button时启动SecondActivity。在SecondActivity的布局中放置一个Textview,以证明SecondActivity已启动。 

[4]运行程序,查看此App进程情况: 

   USER:app_36  PID:8360  NAME:com.demo 

[5]点击按钮,启动SecondActivity,再次查看进程情况: 

   USER:app_36  PID:8360  NAME:com.demo

结论:进程列表没有变化,两个Activity运行在同一进程中


2. 同一Apk中的不同包的Activity调用时进程状况验证

[1]将SecondActivity挪到包com.demo.second中去,相应修改AndroidManifest.xml中的name为:com.demo.second.SecondActivity 

[2]运行程序,查看此时进程情况: 

   USER:app_36  PID:10593  NAME:com.demo 

[3]点击按钮启动SecondActivity,查看此时进程情况: 

   USER:app_36  PID:10593  NAME:com.demo 

结论:进程列表没有变化,两个Activity运行在同一进程中即进程name只受AndroidManifest.xml中manifset结点的package属性影响。


3. 同一Apk中Activity process属性修改后进程状况验证

[1]为SecondActivity添加process属性,其值为":abc",也可以随便是其他的":"开头的字符串,常见的名字是":remote":

<activity android:name="com.demo.second.SecondActivity" android:process=":abc"> </activity>

[2]运行程序,查看进程情况: 

   USER:app_36  PID:12137  NAME:com.demo 

[3]点击按钮,启动SecondActivity,查看进程情况: 

   USER:app_36  PID:12137  NAME:com.demo 

   USER:app_36  PID:12303  NAME:com.demo:abc

结论:进程表多了一项。两个Activity各自有一个进程,SecondActivity的进程名称为 包名+后缀

 

4. 不同Apk中不同包名的Activity进程状况验证 

[1]运行FirstProject:

   USER:app_36  PID:12137  NAME:com.demo

[2]创建SecondProject:

   project name: SecondProject 

   package:com.demo2 

   默认Activity:MainActivity

[3]运行SecondProject: 

   USER:app_37  PID:14191  NAME:com.demo2 

结论:进程表多了一项。两个Activity各自有一个进程,同时其进程用户id、包名也不同,互不影响

 

5. 不同Apk,签名相同、包名相同的Activity进程状况验证 

[1]修改SecondProject的包也为com.demo,相应要修改AndroidManifest.xml内容。 

[2]运行SecondProject,查看进程情况: 

   USER:app_36  PID:14944  NAME:com.demo 

结论:进程表只有一项,但是实际上FirstProject此时已经被覆盖了,系统中只存在SecondProject了,因为模拟器调试时apk使用的签名key都是一样的,系统看到key一样,包名一样认为这个包就是FirstProject所以覆盖掉了。 

可以通过DDMS复制/data/system/packages.xml查看一下内容:

<package name="com.demo" codePath="/data/app/com.demo.apk" system="false" ts="1279955425000"version="1" userId="10036">

这个文件里面,package name都是唯一的,同时可以看到用户名是通过userId来决定的。


6.不同Apk,签名不相同,包名相同的Activity进程状况验证

[1]在Eclipse的Package Explorer导航树中选中FirstProject,点右键。 

[2]Android tools-->Export Signed Application Package,按照向导创建一个用指定key签名的apk包。 

[3]同样导出Second Project。 

[4]切换窗口到模拟器,按Home键-->按Menu键-->设置-->应用程序-->管理应用程序-->SecondProject-->卸载。这是为了用命令行安装做准备。 

[5]启动一个命令行窗口,执行adb install firstproject.apk,会提示成功安装。 

[6]执行adb install secondproject.apk,提示安装失败。 

结论:

1> 默认的Apk其安装时会分配新的UserId,即此时FirstProject以及SecondProject的UserId可以认为是不同的。 

2> 包名不同,则签名key是否相同无所谓,两个apk都可以安装。【第4个实验】 

3> 包名相同时,签名key相同则会覆盖【第5个实验】;签名不同则第二个apk安装会失败。【第6个实验】

 

7.不同Apk,Share User Id相同,包名不同时进程情况分析

[1]修改firstproject、secondproject的AndroidManifest.xml的manifset结点,增加属性

android:sharedUserId="com.demouser"

[2]修改secondproject的包为com.demo2,不然其会覆盖firsetproject。 

[3]运行firsetproject、secondproject,查看进程列表: 

   USER:app_35  PID:19993  NAME:com.demo2 

   USER:app_35  PID:20045  NAME:com.demo2 

结论:

仍然存在两个进程。但是进程的用户名一样,说明shareUserId确实有效了,进程pid不相同。 

再次导出/data/system/packages.xml,查看其内容,可以看到两个项目的UserId都是10035,确实是一样的:

<package name="com.demo" codePath="/data/app/com.demo.apk" system="false" ts="1279957484000"version="1" sharedUserId="10035"> <package name="com.demo2" codePath="/data/app/com.demo2.apk"system="false" ts="1279957473000" version="1" sharedUserId="10035">

 

8.不同Apk,Share User Id相同,包名不同、指定Activity的process属性进程情况分析

[1]修改SecondProject的MainActivity的process属性,指定绑定到进程名为com.demo的进程上:

<activity android:name=".MainActivity" android:label="@string/app_name" android:process="com.demo">

[2]运行firstProject、SecondProject,查看进程情况: 

    USER:app_35  PID:21387  NAME:com.demo 

结论:两个Activity运行于同一个进程。

 

9.不同Apk,Share User Id相同,包名不同、签名key不同

经实验,安装第二个apk时会提示INSTALL_FAILED_UPDATE_INCOMPATIBLE错误,安装失败。 


总结:

UserId不同时: 

    包名不同:

        未设定process属性时,各自的Activity在各自的进程。即使process指定了包名,也不会和另一个用户的同名包共享进程。 

    包名相同: 

        签名相同:覆盖旧的同包名apk。签名不同:新的apk会安装失败。【签名key一般都是不同的】

UserId相同时: 

    包名不同:

        未设定process属性时,各自的Activity在各自的进程。process属性指定,则可以共享进程。 

    包名相同: 

        签名相同:覆盖旧的同包名apk。签名不同:新的apk会安装失败。【签名key一般都是不同的】

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/pjdssswe/p/4696082.html

08-05 16:05:57.767756 3384 7603 D OGuardManager_WeakAwareManager: updateAppStatus uid:10141 start:false type:12 08-05 16:05:57.767949 2700 30411 D gaia:crashlogtask: [collect:31]CrashLogTask collect 08-05 16:05:57.769069 8887 8887 V InputMethod: unbindInput(): binding=InputBinding{android.os.BinderProxy@2dd5ff4 / uid 10162 / pid 26917} ic=RemoteInputConnection{idHash=#636631d} 08-05 16:05:57.769363 24509 24509 I mydevices[core].AudioPlaybackMonitor: (main)checkPlaybackChanged 08-05 16:05:57.769495 2700 30410 D gaia:systemlogtask: [collect:31]SystemLogTask collect 08-05 16:05:57.769872 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:135 deviceIds:[] type:android.media.SoundPool u/pid:1000/3384 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.769909 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:1255 deviceIds:[] type:android.media.SoundPool u/pid:10141/14634 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.769928 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:1383 deviceIds:[] type:android.media.SoundPool u/pid:1000/2108 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.770072 3384 5880 D LocationManagerService: gps provider registration 10162/com.oplus.camera/8DE432B7 died 08-05 16:05:57.770076 2700 30409 D gaia:extraslogtask: [collect:33]ExtrasLogTask collect 08-05 16:05:57.770135 3384 5880 I LocationFreezeProc: remove the [gps] listener[android.os.BinderProxy@60141ba] by provider in appdata success! 08-05 16:05:57.770184 2700 30409 D gaia:extraslogtask: [getStorageLog:65]gaia ExtrasLogTask errorType=native_crash 08-05 16:05:57.770185 3384 5880 I LocationFreezeProc: remove app[10162] inf map index [0] 08-05 16:05:57.770210 2700 30409 D gaia:extraslogtask: [collect:50]target extra file name is: extras@2025-08-05_16-05-57.txt 08-05 16:05:57.770218 3384 5880 W LocationFreezeProc: remove appInfo for com.oplus.camera binderDied 08-05 16:05:57.770260 3384 5880 I LocationFreezeProc: IOplusHansManager.updateLocationRequest: 10162/com.oplus.camera, state: 2, Object: android.os.BinderProxy@60141ba, reason: removeLocation-BinderDied 08-05 16:05:57.770458 2700 30408 D gaia:radiologtask: [collect:31]RadioLogTask collect 08-05 16:05:57.770620 3384 5880 I OplusLocationStatistics: stopRequesting 08-05 16:05:57.770645 3384 5880 I LocationRequestStatistics: stopRequesting, PackageProviderKey = PackageProviderKey: gps: com.oplus.camera: null 08-05 16:05:57.770982 2700 30407 D gaia:dmesglogtask: [collect:30]DmesgLogTask collect 08-05 16:05:57.770997 2700 30407 D gaia:readLog: read from dmesg 08-05 16:05:57.771187 3384 5880 D LocationManagerService: gps provider removed registration from 10162/com.oplus.camera/8DE432B7 08-05 16:05:57.771555 9044 9466 I DeepThinker: DispatcherPolicy: onBaseEvent EventId=35 INPUT_LOCATION_STATE TimeStamp =1754381157771 Intent =null Content =null Pid =-1 PkgName =null ExtraDta =Bundle[mParcelledData.dataSize=32] 08-05 16:05:57.772568 1852 1852 I sensors-hal: send_req:208, send_req before send_request mag_cal with SUID low=4634041476785118727 high=411276379608898215 08-05 16:05:57.772683 1852 1852 I sensors-hal: ~calibration:76, sent disable request. wait for response for it 08-05 16:05:57.772691 1852 1852 I sensors-hal: operator():79, resp_received = 0 in wait_for 08-05 16:05:57.773092 1852 29621 I sensors-hal: handle_resp_cb:218, resp_value = 0 for mag_cal before acuiring the lock _cal_mutex 08-05 16:05:57.773156 1852 1852 I sensors-hal: operator():79, resp_received = 1 in wait_for 08-05 16:05:57.773167 1852 1852 I sensors-hal: register_cb:314, suid(low=4634041476785118727,high=411276379608898215) is new. register callbacks 08-05 16:05:57.773173 1852 1852 E sensors-hal: register_cb:316, all callbacks are null for new suid. no need to register it 08-05 16:05:57.773181 1852 1852 I sensors-hal: ~calibration:101, ~calibration: END 08-05 16:05:57.773204 1852 1852 I sensors-hal: send_sync_sensor_request:445, send sync request 08-05 16:05:57.773212 1852 1852 I sensors-hal: send_sync_sensor_request:455, send_sync_sensor_request before send_request for mag with SUID low=11911404398489902607 high=16993594652946037180 08-05 16:05:57.773257 1852 1852 I sensors-hal: send_sync_sensor_request:475, wait for notification of response 08-05 16:05:57.773587 1852 29621 I sensors-hal: qsh_conn_resp_cb:799, resp_value = 0 for mag 08-05 16:05:57.773644 1852 1852 I sensors-hal: send_sync_sensor_request:481, takes 0 ms to receive the response with 0 08-05 16:05:57.773658 1852 1852 I sensors-hal: deactivate:223, (magnetometer) , _pending_flush_requests=0 08-05 16:05:57.773841 3384 5880 D LocationManagerService: gps provider request changed to ProviderRequest[OFF] 08-05 16:05:57.775476 3384 3554 D QosSceneRecognizer: updateAssProcRecord add: false, isProvider: true, cmpAssParams: CmpAssParams{mCallingUid=10141, mCallingPid=14634, mCalledUid=10162, mCalledPid=26917, mCalledPkgName=com.oplus.camera, mCalledProcessName=com.oplus.camera, mCmpName=eb223cd/com.oplus.camera/com.oplus.gallery3d.GalleryCacheFileProvider} 08-05 16:05:57.775678 1852 1852 I sensors-hal: ~qsh_qmi:62, ~qsh_qmi 08-05 16:05:57.775722 1852 1852 I sensors-hal: activate:135, android.sensor.magnetic_field/21 en=0 completed 08-05 16:05:57.776423 3384 5646 D SensorService: ... and it was the last connection 08-05 16:05:57.776510 3384 5646 D SensorServiceExtImpl: setLastEventStateForCleanup cleanupConnection delete handle = 21, setLastEventState 08-05 16:05:57.776665 3384 4390 I CwbClient: setCWBDisplayType set mFeatureID = CWB_RGB_VALUE 08-05 16:05:57.778199 3384 5646 D SensorService: ~SensorEventConnection(0xb4000075bc63a800) 08-05 16:05:57.778215 3384 5646 D SensorService: 11 active sensors 08-05 16:05:57.778222 3384 5646 D SensorService: 0: disabling handle=0x0000000b 08-05 16:05:57.778235 3384 5646 D SensorService: SensorDevice::activate: ident=0xb4000075bc63a800, handle=0x0000000b, enabled=0, count=3 08-05 16:05:57.778242 3384 5646 D SensorService: disable index=1 08-05 16:05:57.778253 3384 5646 D SensorService: >>> actuating h/w batch 0x0000000b 200000000 0 08-05 16:05:57.778194 1882 4433 I Dpps : LtmSwState::SetParameter():144 ignore cmd 7 in state LtmOffPendingState 08-05 16:05:57.778391 1852 1852 I sensors-hal: batch:157, android.sensor.accelerometer/11, period=200000000, max_latency=0 08-05 16:05:57.778406 1852 1852 I sensors-hal: batch:179, android.sensor.accelerometer/11, period=200000000, max_latency=0 request completed 08-05 16:05:57.778413 3384 6638 I StatsPullAtomServiceExtImpl: Tgid: 2700, ProcessName: oplus_gaia, Uid: 0, Duration: 598562979565, Cycles: 913033 08-05 16:05:57.778485 3384 5646 D SensorService: activateHardware = 0 08-05 16:05:57.780148 3384 6090 I ActivityManager: Killing 14634:com.coloros.gallery3d/u0a141 (adj 0): depends on provider com.oplus.camera/.component.SandBoxContentProvider in dying proc com.oplus.camera (adj -10000) 08-05 16:05:57.781286 3384 3546 I SurfaceControl: SurfaceControl hide: sc Surface(name=WallpaperWindowToken{4799093 showWhenLocked=false})/@0x70fd489 tx=14534169846930 ,layerId= 227 caller = SurfaceControl.java.hide:3597 SurfaceControl.java.setVisibility:3539 WallpaperWindowToken.java.prepareSurfaces:93 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 DisplayArea.java.prepareSurfaces:846 WindowContainer.java.prepareSurfaces:3191 DisplayArea.java.prepareSurfaces:846 08-05 16:05:57.781435 3384 3546 I SurfaceControl: SurfaceControl hide: sc Surface(name=WallpaperWindowToken{2cc2212 showWhenLocked=false})/@0x5a1ecb7 tx=14534169846930 ,layerId= 84 caller = SurfaceControl.java.hide:3597 SurfaceControl.java.setVisibility:3539 WallpaperWindowToken.java.prepareSurfaces:93 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 DisplayArea.java.prepareSurfaces:846 WindowContainer.java.prepareSurfaces:3191 DisplayArea.java.prepareSurfaces:846 08-05 16:05:57.781477 2120 2120 I BpBinder: onLastStrongRef automatically unlinking death recipients: 08-05 16:05:57.781743 3384 3546 D ActivityTaskManager: prepareSurfaces skip task show Task{54677aa #1010 type=standard A=10141:com.coloros.gallery3d}, show:true, mLastSurfaceShowing:false 08-05 16:05:57.781842 3384 3546 I SurfaceControl: SurfaceControl hide: sc Surface(name=Task=1010)/@0x6fab16f tx=14534169869398 ,layerId= 42611 caller = SurfaceControl.java.hide:3597 SurfaceControl.java.setVisibility:3539 Task.java.prepareSurfaces:3773 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 WindowContainer.java.prepareSurfaces:3191 DisplayArea.java.prepareSurfaces:846 WindowContainer.java.prepareSurfaces:3191 08-05 16:05:57.782090 3384 3546 D SurfaceComposerClient: Transaction::apply InputWindowCommands.focusRequests timestamp=24428475925887, windowName=<null> 08-05 16:05:57.782402 5911 6234 I SystemUi--Statusbar: PrivacyDotViewController-->processNextViewState: 08-05 16:05:57.782652 5911 6234 I SystemUi--Statusbar: PrivacyDotViewController-->resolveState ViewState(viewInitialized=true, systemPrivacyEventIsActive=false, shadeExpanded=false, needShow=true, portraitRect=Rect(0, 0 - 1264, 140), landscapeRect=Rect(140, 0 - 2780, 140), upsideDownRect=Rect(0, 0 - 1264, 140), seascapeRect=Rect(0, 0 - 2626, 140), layoutRtl=false, rotation=0, paddingTop=22, paddingBottom=14, cornerIndex=-1, corner=TopRight, designatedCorner=android.widget.FrameLayout{cc7c761 V.E...... ........ 1210,0-1264,140 #7f0a0a68 app:id/privacy_dot_top_right_container alpha=1.0 viewInfo = }, contentDescription=有多个应用正在使用您的相机。, dotMargin=54) 08-05 16:05:57.786547 6191 6191 D RecentTasksList[u0]: RecentTasksList#invalidateLoadedTasks, mChangeId=10094 08-05 16:05:57.788505 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:1415 deviceIds:[] type:android.media.SoundPool u/pid:1000/30615 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.788575 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:143 deviceIds:[] type:android.media.SoundPool u/pid:10244/5911 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.788609 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:271 deviceIds:[] type:android.media.SoundPool u/pid:10244/5911 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.788633 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:151 deviceIds:[] type:android.media.SoundPool u/pid:10244/5911 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.788657 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:215 deviceIds:[] type:android.media.SoundPool u/pid:10244/5911 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.788684 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:1239 deviceIds:[] type:android.media.SoundPool u/pid:10141/14634 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.788699 3384 7254 D Telecom : h2: onPlaybackConfigChanged: config=AudioPlaybackConfiguration piid:1407 deviceIds:[] type:android.media.SoundPool u/pid:1000/30615 state:idle attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x800 tags= bundle=null sessionId:0 mutedState:none FormatInfo{isSpatialized=false, channelMask=0x0, sampleRate=0} 08-05 16:05:57.789194 30384 30384 E ARCSOFT_DEBUG: chinodesatbase.cpp:1361 /ChiNodeEntry/: [ARC_SAT][base] (IN) 08-05 16:05:57.792604 2700 30406 D gaia:eventslogtask: [collect:31]EventsLogTask collect 08-05 16:05:57.794173 3384 6351 D Osense-ReentrantPolicy: bundle: Bundle[{stateType=update, type=instantcpuload, instantCpuLoad=92}] 08-05 16:05:57.794263 3384 6351 D OsenseResEventManager: handleOsenseResultEvent: OsenseEventResult : eventType is :113 eventStateType is :2 ExtraData is : Bundle[{instantCpuLoad=92}] 08-05 16:05:57.796744 2700 30405 D gaia:crashbox: [collect:33]MainLogTask collect 08-05 16:05:57.802349 2120 2487 D SurfaceFlinger: updateWinowInfo=1, setFocusedWindow timestamp=24428475925887, windowName=<null> 08-05 16:05:57.802610 3384 6638 I InputDispatcher: NFW_setFocusedWindow, <null> on display 0, same as the previous:1 08-05 16:05:57.802622 3384 6638 D InputDispatcher: setFocusedWindow <null> on display 0 ignored, reason: already focused 08-05 16:05:57.803111 3384 6641 V InputDispatcher: setInputWindows displayId=0 {56ec490 ScreenDecorOverlayBottom,0,id=70,ownerPid=5911,iC=0x50c,a=1.00,tR=<empty>} {cff38fd ScreenDecorOverlay,0,id=68,ownerPid=5911,iC=0x50c,a=1.00,tR=<empty>} {6b09f23 NavigationBar_displayId_0,0,id=88,ownerPid=5911,iC=0x104,a=0.37,tR=<empty>} {e8d81f7 StatusBar,0,id=89,ownerPid=5911,iC=0x106,a=0.00,tR=[0,0][1264,140]} {23c9a29 OplusOSEdgeFloatBar,0,id=233,ownerPid=15088,iC=0x10c,a=1.00,tR=[1236,279][1264,547]} {303fadc com.coloros.gallery3d/com.oppo.gallery3d.app.ViewGallery,0,id=42615,ownerPid=14634,iC=0x4400010f,a=1.00,tR=<empty>} {recents_animation_input_consumer,0,id=101,ownerPid=3384,iC=0x102,a=1.00,tR=[0,0][1264,2780]} {Dim layer#83,0,id=83,ownerPid=5911,iC=0x3,a=1.00,tR=<empty>} {Dim layer#65,0,id=65,ownerPid=5911,iC=0x3,a=1.00,tR=<empty>} {81f2063 com.coloros.assistantscreen,1,id=28075,ownerPid=28213,iC=0x18f,a=1.00,tR=<empty>} {2f94b7a com.android.launcher/com.android.launcher.Launcher,1,id=221,ownerPid=6191,iC=0x1af,a=1.00,tR=<empty>} {Wallpaper BBQ wrapper#87,0,id=8 08-05 16:05:57.803160 3384 5782 I CwbClient: R/G/B:0-0-0 08-05 16:05:57.803438 3384 6641 V InputDispatcher: setInputWindows displayId=59 {56ec490 ScreenDecorOverlayBottom,0,id=-2147356444,ownerPid=5911,iC=0x1050c,a=1.00,tR=<empty>} {cff38fd ScreenDecorOverlay,0,id=-2147356447,ownerPid=5911,iC=0x1050c,a=1.00,tR=<empty>} {recents_animation_input_consumer,0,id=-2147356517,ownerPid=3384,iC=0x10102,a=1.00,tR=[0,0][320,704]} {6b09f23 NavigationBar_displayId_0,0,id=-2147356480,ownerPid=5911,iC=0x10104,a=0.37,tR=<empty>} {e8d81f7 StatusBar,0,id=-2147356501,ownerPid=5911,iC=0x10106,a=0.00,tR=[0,0][320,35]} {23c9a29 OplusOSEdgeFloatBar,0,id=-2147356508,ownerPid=15088,iC=0x1010c,a=1.00,tR=[313,71][320,139]} {303fadc com.coloros.gallery3d/com.oppo.gallery3d.app.ViewGallery,0,id=-2147356384,ownerPid=14634,iC=0x4401010f,a=1.00,tR=<empty>} {Dim layer#83,0,id=-2147356540,ownerPid=5911,iC=0x10003,a=1.00,tR=<empty>} {Dim layer#65,0,id=-2147356542,ownerPid=5911,iC=0x10003,a=1.00,tR=<empty>} {81f2063 com.coloros.assistantscreen,1,id=-2147356562,ownerPid=28213,iC=0x1018f,a=0.00,tR=<empty>} {2f94b7a com.android.launcher/com.android.lau 08-05 16:05:57.803882 8320 30399 D LogKit_OLC_CrashBox_PackageUtils: PackageName: /vendor/bin/hw/vendor.qti.camera.provider-service_64 08-05 16:05:57.804949 8320 30399 W LogKit_OLC_CrashBox_PackageUtils: getPackageUid: /vendor/bin/hw/vendor.qti.camera.provider-service_64 is invalid package name. 08-05 16:05:57.807693 8320 30399 D LogKit_OLC_CrashBox_PackageUtils: PackageName: /vendor/bin/hw/vendor.qti.camera.provider-service_64 08-05 16:05:57.807898 8320 30399 W LogKit_OLC_CrashBox_PackageUtils: getInstallerPackageName: /vendor/bin/hw/vendor.qti.camera.provider-service_64 is invalid package name. 08-05 16:05:57.809262 8320 30399 D LogKit_OLC_CrashBox_FileUtils: success to chmod path /data/persist_log/olc/com.oplus.crashbox/apk_logs/extras@2025-08-05_16-05-57.txt, success code: 0 08-05 16:05:57.809342 8320 30399 D LogKit_ExtraRunnable: end collect kernel extra info log! 08-05 16:05:57.816215 2120 2296 D BindCore: handleBindCore, BindBigCoreCount(1) 08-05 16:05:57.816480 2120 2296 D BindCore: bind sf tread [ 2120 2313 ] with 0xfc 08-05 16:05:57.820169 3384 3542 D SensorServiceExtImpl: notifyApplicationLaunchStage processName=com.oplus.camera, uid=10162, pid=26917, stage=-1 08-05 16:05:57.821165 3384 5868 D OplusStatistics--: onCommon: {appId=20120, logTag=2012002, eventId=preview } 08-05 16:05:57.829012 3384 6090 D OplusOsenseCommonManager: updateAppState...appStatusId:14, uid:10162, pkgName:com.oplus.camera, isAdded:false 08-05 16:05:57.830254 9044 9466 I DeepThinker: DispatcherPolicy: onBaseEvent EventId=10022 ID_FOREGROUND_SERVICE_CHANGED TimeStamp =1754381157830 Intent =null Content =null Pid =26917 PkgName =com.oplus.camera ExtraDta =Bundle[{foreground_service_type=0}] 08-05 16:05:57.830679 3384 5913 D Osense-OfreezerPolicy: notifyAppStatus:IntegratedData{mResId=14, mTime=1754381157829, mInfo=Bundle[{pkgName=com.oplus.camera, uid=10162, isAdded=false}]} 08-05 16:05:57.834531 31236 31307 D UMS.HostLifeObserver: (binder:31236_4) onForegroundServicesChanged [UMS|com.oplus.pantanal.ums|2.0.22-29c1019] 08-05 16:05:57.835299 3384 3384 D EnvelopeDetectorController: isEnvelopeAssistantEnabled isCancelNotification: true currentUserId: 0 userId: 0 08-05 16:05:57.843721 6434 17943 I ConferenceScene: onForegroundServiceStateChanged 26917 10162 0 fg_stateMachinesuid is null 08-05 16:05:57.844296 6056 7651 V OsAgent : broadcastSystemEvent - 7 08-05 16:05:57.844899 3384 3571 E OplusThermalStats: Error getting package info: com.oplus.camera 08-05 16:05:57.846310 2019 2053 I URCC_CORE_SERVER: [urccRequestReleaseExec] urccRelease: handle: 73315, said:2 08-05 16:05:57.847385 2019 2053 I URCC_RES_MANAGER: [dumpResourceApplyInfo] urccResUpdate: XKF&^cggid#jmij#iecffjj#jmjj$#^cggid#jm9j#idbadjj#jmjb$#^cggid#jmfj#idihbjj#jmjb$#^cggid#jm6j#idihbjj#jmjb$#^cggid#jmhj#idihbjj#jmjb$#^cggid#jm8aj#h#jmjj$#^cggid#jm4bj#dj*bj*bj#jmjj$#^cggid#jm8j#idihbjj#jmjb$#^cggid#jm87j#h#jmjj$#^cggid#jm8fj#h#jmjj$#^cggid#jm89j#g#jmjj$#^cggid#jm8hj#g#jmjj$#^cggid#jm4aj#fj*cj*cj#jmjj$#^cggid#jm8ij#h#jmjj$#^cggid#jm7j#igdghjj#jmjb$ 08-05 16:05:57.847738 3384 3543 D IModule : notifyEvent: GAME_PROCESS_DIE 08-05 16:05:57.848348 3384 3554 D QosSceneRecognizer: removeProcess uid: 10162, pid: 26917 08-05 16:05:57.848447 31236 31307 D UMS.HostLifeObserver: (binder:31236_4) onProcessDied, pid=26917, uid=10162 08-05 16:05:57.848468 3384 3543 D OStatsManager_OplusBatteryStatsEventManager: onProcessDied : pid = 26917processUid = 10162 08-05 16:05:57.850240 9044 9467 I DeepThinker: RunningProcessManager: onProcessDied: pid = 26917, uid = 10162 08-05 16:05:57.850431 9044 9466 I DeepThinker: DispatcherPolicy: onBaseEvent EventId=22 INPUT_PROCESS_DIED TimeStamp =1754381157850 Intent =null Content =null Pid =26917 PkgName =com.oplus.camera 08-05 16:05:57.850466 31236 25221 D UMS.HostPidManager: (UMSCachedExecutor-pool-2-thread-85) queryHostCardType, pidSet=[26917] 08-05 16:05:57.850504 31236 25221 D UMS.HostPidManager: (UMSCachedExecutor-pool-2-thread-85) queryHostCardType, hostPidCache: {28213={7=com.coloros.assistantscreen, 60=com.coloros.assistantscreen}, 5911={268451919=com.android.systemui}, 6988={268451924=com.oplus.battery}} 08-05 16:05:57.850504 9044 9466 I DeepThinker: BaseScene: RecordingScene : exitScene = {26917,10162,com.oplus.camera} 08-05 16:05:57.850513 31236 25221 D UMS.HostPidManager: (UMSCachedExecutor-pool-2-thread-85) queryHostCardType, hostCardTypeMap: null 08-05 16:05:57.850531 9044 9466 I DeepThinker: AppSceneEventManager: notifyEventResult eventType=221, pkgName=com.oplus.camera, pid=26917, eventTypeState=1 08-05 16:05:57.850543 9044 9466 I DeepThinker: EventHubService#EventHubBinderServer: broadcastEvent onEventStateChanged, fingerprint = 2188003389044 08-05 16:05:57.850593 3384 3554 W UserAwareMgr: top app is killed 解释
08-09
结合一下这个android的log看看:2025-08-21 19:36:29.163 2526-3957 WindowManager system_server E setClientVisible ActivityRecord{9493e47 u0 com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity t775} false 2025-08-21 19:36:29.837 5539-5539 DEBUG crash_dump64 A Cmdline: com.sharejoy.werewolf2 2025-08-21 19:36:29.837 5539-5539 DEBUG crash_dump64 A pid: 16482, tid: 5533, name: UnityMain >>> com.sharejoy.werewolf2 <<< 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #01 pc 0000000000bca2f4 /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #02 pc 0000000000bca870 /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #03 pc 0000000000a0d9d0 /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #04 pc 000000000069bd2c /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #05 pc 000000000069c12c /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #06 pc 000000000069fb04 /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:29.838 5539-5539 DEBUG crash_dump64 A #07 pc 00000000006b7d1c /data/app/~~3GKDbdd9iKxrNLinnlRcaw==/com.sharejoy.werewolf2-NKF_RFom59mIuHGHsprfdQ==/base.apk!libunity.so (offset 0x1603c000) (BuildId: e1e5df1c97d2d7e0) 2025-08-21 19:36:30.021 2526-5577 WindowManager system_server E setClientVisible ActivityRecord{9493e47 u0 com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity t775} true ---------------------------- PROCESS ENDED (16482) for package com.sharejoy.werewolf2 ---------------------------- 2025-08-21 19:36:30.170 1812-1812 qspmHal vendor.qti.qspmhal-service E setAppInfoH atPid = 16482, gpuFname:com.sharejoy.werewolf2, gpuFver:20080400 2025-08-21 19:36:30.188 17048-17048 Zygote usap64 E process_name_ptr:17048 com.sharejoy.werewolf2 2025-08-21 19:36:30.188 17048-17048 Zygote usap64 E SetMemoryProtected process_name_ptr:17048 com.sharejoy.werewolf2 2025-08-21 19:36:30.206 1812-1812 qspmHal vendor.qti.qspmhal-service E setAppInfoH atPid = 17048, gpuFname:com.sharejoy.werewolf2, gpuFver:20080401 ---------------------------- PROCESS STARTED (17048) for package com.sharejoy.werewolf2 ---------------------------- 2025-08-21 19:36:30.557 2526-9902 WindowManager system_server E setClientVisible ActivityRecord{9493e47 u0 com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity t775} true 2025-08-21 19:36:30.559 2526-2881 WindowManager system_server E setClientVisible ActivityRecord{9493e47 u0 com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity t775} true 2025-08-21 19:36:30.590 4388-5250 ActivityManagerWrapper com.miui.home E getRecentTasksForceIncludingTaskIdIfValid: getRecentTasks: size=1 mainTaskId=775 userId=0 windowMode=1 baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity} } 2025-08-21 19:36:30.632 2526-6046 WindowManager system_server E source = Task{1d177e3 #775 type=standard A=10785:com.sharejoy.werewolf2} excludeMiuiNavBar = true excludeMiuiStatusBar = true excludeIme = false excludeNavBar = true miuiNavSurfaceControl = Surface(name=Miui Fake NavBar#51)/@0x878c667 miuiStatusSurfaceControl = Surface(name=Miui Fake StatusBar#50)/@0x62bb850 2025-08-21 19:36:30.643 4388-5250 ActivityManagerWrapper com.miui.home E getRecentTasksForceIncludingTaskIdIfValid: getRecentTasks: size=1 mainTaskId=775 userId=0 windowMode=1 baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity} } 2025-08-21 19:36:30.644 2526-5506 WindowManager system_server E source = Task{1d177e3 #775 type=standard A=10785:com.sharejoy.werewolf2} excludeMiuiNavBar = true excludeMiuiStatusBar = true excludeIme = false excludeNavBar = true miuiNavSurfaceControl = Surface(name=Miui Fake NavBar#51)/@0x878c667 miuiStatusSurfaceControl = Surface(name=Miui Fake StatusBar#50)/@0x62bb850 2025-08-21 19:36:30.766 17048-5801 ContentCatcherManager com.sharejoy.werewolf2 E failed to get ContentCatcherService. 2025-08-21 19:36:30.769 17048-5801 ContentCatcherManager com.sharejoy.werewolf2 E failed to get ContentCatcherService. 2025-08-21 19:36:31.016 17048-5841 FramePredict com.sharejoy.werewolf2 E registerContentObserver fail 2025-08-21 19:36:31.019 17048-17048 MI-PreRender com.sharejoy.werewolf2 E init cloud whiteList failed 2025-08-21 19:36:31.027 2526-5506 WindowManager system_server E source = Task{1d177e3 #775 type=standard A=10785:com.sharejoy.werewolf2} excludeMiuiNavBar = true excludeMiuiStatusBar = true excludeIme = false excludeNavBar = true miuiNavSurfaceControl = Surface(name=Miui Fake NavBar#51)/@0x878c667 miuiStatusSurfaceControl = Surface(name=Miui Fake StatusBar#50)/@0x62bb850 2025-08-21 19:36:31.046 2526-5229 WindowManager system_server E setClientVisible ActivityRecord{24dfa9e u0 com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity t775 f} isExiting} false 2025-08-21 19:36:31.054 4388-5250 ActivityManagerWrapper com.miui.home E getRecentTasksForceIncludingTaskIdIfValid: getRecentTasks: size=1 mainTaskId=775 userId=0 windowMode=1 baseIntent=Intent { act=android.intent.action.MAIN flag=270532608 cmp=ComponentInfo{com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity} } 2025-08-21 19:36:31.112 17048-5708 LB com.sharejoy.werewolf2 E fail to open node: No such file or directory 2025-08-21 19:36:31.130 2810-2910 misight_perf misight E [902001002, com.sharejoy.werewolf2, 17048, activity lifecycle latency due to msg] 2025-08-21 19:36:31.132 2810-2910 misight_perf misight E [902001002, com.sharejoy.werewolf2, 17048, activity lifecycle latency due to msg] 2025-08-21 19:36:31.150 2526-9912 WindowManager system_server E setClientVisible ActivityRecord{9493e47 u0 com.sharejoy.werewolf2/com.sharejoy.werewolf.MainActivity t775} false 2025-08-21 19:36:31.545 1812-1812 qspmHal vendor.qti.qspmhal-service E setAppInfoH atPid = 17048, gpuFname:com.sharejoy.werewolf2, gpuFver:20080400 ---------------------------- PROCESS ENDED (17048) for package com.sharejoy.werewolf2 ----------------------------
最新发布
08-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值