ActivityManager

该类主要提供,activity,服务进程交互的相关信息

类中的一些方法主要用来调试或者查看信息为目的,它不应该用来影响你的APP正常运行,这些方法在方法及文档中被调用。

大多数开发者用不到该类方法,因为这里面大多方法针对特殊用例。但也有些方法广泛适用例如,isLowRamDevice()使您的应用程序能够检测它是否在低内存设备上运行,并相应地运行。clearApplicationUserData()适用于具有重置数据功能的应用程序。

在一些特殊用例中,app和他的任务堆栈交互,可以使用ActivityManager.AppTask和ActivityManager.RecentTaskInfo内部类。但事实上这些类只用于测试和调试。

此类的实例的使用必须使用Context.getSystemService(class)携带参数ActivityManaget.class或者使用Context.getSystemService(String) 携带参数Context.ACTIVIT_SERVISE。

内部类:

类名说明
ActivityManager.AppTaskAppTask允许你管理应用内的任务
ActivityManager.MemoryInfo你可以用getMemoeyInfo(ActivityManager.MemoryInfo)检索可用内存信息
ActivityManager.ProgressErrorStateInfo你可以检索一下任何处于错误状态的进程的信息
ActivityManager.RunningAppProgressInfo你可以检出正在运行的进程的信息
ActivityManager.RunningServiceInfo你可以检索当前运行在系统中的特定服务的信息
ActivityManager.RunningTaskInfo你可以检索当前运行在系统中的特定任务的信息
ActivityManager.TaskDescription你可以在最近的任务列表中设置和检索但前activity信息

常量:

名称类型描述版本
ACTION_REPORT_HEAP_LIMITString操作应用可以实现处理来自setWatchHeapLimit(long)的报告add in API level 23
LOCK_TASK_MODE_LOCKEDint锁定全部处于活动的任务add in API level 23
LOCK_TASK_MODE_NONEint锁定未激活的任务模式add in API level 23
LOCK_TASK_MODE_PINNEDint应用固定模式处于活动状态add in API level 23
META_HOME_ALTERENATEString用home的<mate-data>名称声明要卸载的程序包的活动,以替代声明的程序包add in API level 19
MOVE_TASK_NO_USER_ACTIONintmoveTaskToFornt(int,int)的标识:不要将此算作用户策动的操作,因此当前界面会收不到用户离开的提示add in API level 12
MOVE_TASK_WITH_HOMEintmoveTaskToFornt(int,int)的标识:随着任务一起移动的‘home’活动,因此它被定位在任务之后add in API level 11
RECENT_IGNORE_UNAVAILABLEint提供一个列表 ,列表不包含当前对用户不可用的近期任务add in API level 11
RECENT_WITH_EXCLUDEDint用户是使用getRecentTasks(int,int):返回所有任务,即使有些任务设置了FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS标识add in API level 1

公共方法

名称返回值返回描述描述版本

addAppTask(Activity activity,Intent intent,ActivityManager.TaskDescription description,Bitmap thumbnail)

int

返回心添加的任务id,

失败时返回-1,

失败的最可能原因是

没有更多的空间完成

更多任务

为应用添加一个新的ActivityManager.Task,他会创建一个最近的记录 并添加到所有现有最近记录的末尾add in API level 21
clearApplicationUserData()boolean

如果应用程序成

功请求清除程序数据

返回true

允许程序从磁盘中删除自己的数据,相当于在设置ui中选择清除应用数据,它会清除所有与应用相关的动态包括私有数据以及存储在外部的私有数据,但不会卸载本身,也不会删除任何OBB文件,他也会清除已经授权的所有运行权限,通知和Uri网页授权add in API level 19
clearWatchHeepLimit()void 清除先前setWatchHeepLimit(long)设置的堆表限制add in API level 23
dumpPackageState(FileDescriptor fd,String packageName)void 

执行与给定应用包相关联的系统转存的各种相关状态,防范的执行会造成阻塞,所以不能放在ui线程,数据会写入给定的存在的文件描述。

请求DUMP权限

add in API level 19
getAppTaskThumbnailSize()Size 返回ActivityManager.AppTask,缩略图的尺寸,用于addAppTask()方法add in API level 21
getAppTask()List<ActivityManeger.Task> 获取调用应用相关联的任务列表19
getDeviceConfigurationInfo()ConfiguraTionInfo 获取设备配置属性3
getLargeMemoryClass()int 当应用程序运行在一个大堆时返回当前设备近似的每个应用程序内存类,它是内存密闭型应用程序的可用空间。大多数应用程序不应需要这些内存而是应该保留getMemoryClass()的限制。返回值的单位是兆字节 ,他可能与内存寿险设备的getMemoryclass()值相同。又或者在有很多可用的RAM设备上会更大。11
getlauncherLargelIconDensity()intdp获取启动图首选密度11
getLauncherLargelIconsize()intpx 11
getLockTaskModeState()int 获取当前任务的送顶状态。返回值可能是:LOCK_TASK_NODE_NONE,LOCK_TASK_MODE_LOCKED,LOCK_TASK_MODE_PINNED。23
getMemoryClass()int 

返回当前设备近似的每个应用程序内存类。它会给你一些想法在应该设置多少内存限制让你的应用程序在整个系统中更好的运行方面。返回值单位是兆字节,一般内存的安卓返回16,一些具备更高内存的设备会返回24或者更高的数字。

5
getMemoryInfo 
(ActivityManager.MemoryInfo 
outInfo)
   1
 
getProcessMemoryInfo 
(int[] pids)
pid:要检索内存进程的id
MemoryInfo[]
   
getRecentTasks() Api21弃用    
getRunningAppProcesses ()

List

<ActivityManeger

.RunningAppProgressInfo>

返回Running

AppProgressInfo列表,没有返回null

  
getRunningServiceControlPanel 
(ComponentName service)
PendingIntent

返回PendingIntent,

你可以开始为你指定的运行中的服务显示控制面板,如果服务没有控制面板,返回nul

  
getRunningService()  在Api 26已经弃用    
getRunningTask()  API 21弃用    
简单翻译,仅供参考
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
a20_hummingbird_v4.5_v1.0_csi01_2ov7670_rtl8188eus 20150918 1830 JNI.7z 无法打开USB Wifi rtl8188eus.txt 配置前后ov7670双摄像头 JNI调用读写一次之后就会出现内核出错,系统死机。 有可能与系统为android4.4有关。 无法打开USB Wifi rtl8188eus shell@wing-k70:/ $ shell@wing-k70:/ $ shell@wing-k70:/ $ shell@wing-k70:/ $ logcat -c shell@wing-k70:/ $ logcat --------- beginning of /dev/log/system I/ActivityManager( 1670): Waited long enough for: ServiceRecord{41e90e08 u0 com.android.calendar/.alerts.InitAlarmsService} --------- beginning of /dev/log/main D/dalvikvm( 1849): GC_FOR_ALLOC freed 673K, 22% free 5143K/6512K, paused 41ms, total 47ms I/ActivityManager( 1670): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.settings/.Settings} from pid 1849 D/PermissionCache( 1252): checking android.permission.READ_FRAME_BUFFER for uid=1000 => granted (3161 us) D/BluetoothAdapter( 1931): 1103979928: getState() : mService = null. Returning STATE_OFF D/libEGL ( 1931): loaded /system/lib/egl/libEGL_mali.so D/libEGL ( 1931): loaded /system/lib/egl/libGLESv1_CM_mali.so D/libEGL ( 1931): loaded /system/lib/egl/libGLESv2_mali.so D/OpenGLRenderer( 1931): Enabling debug mode 0 D/BluetoothAdapter( 1931): 1103979928: getState() : mService = null. Returning STATE_OFF I/ActivityManager( 1670): Displayed com.android.settings/.Settings: +1s78ms D/WifiService( 1670): setWifiEnabled: true pid=1931, uid=1000 D/WifiHW ( 1670): Start to insmod 8188eu.ko [ 54.805792] ****wyb arch/arm/mach-sun7i/rf/wifi_pm.c:69/wifi_pm_power()! on=1 [ 54.813855] ****wyb arch/arm/mach-sun7i/rf/wifi_pm.c:73/wifi_pm_power()! [ 54.821376] ****wyb arch/arm/mach-sun7i/rf/wifi_pm_rtl8188eu.c:197/rtl8188eu_power()! mode=1 *updown=1 [ 54.831805] ****wyb arch/arm/mach-sun7i/rf/wifi_pm_rtl8188eu.c:95/rtl8188eu_gpio_ctrl()! name=rtk_rtl8188eu_wl_dis, level=1 [ 54.844290] ****wyb arch/arm/mach-sun7i/rf/wifi_pm_rtl8188eu.c:209/rtl8188eu_power()! usb wifi power state: on [ 54.855621] ----wyb arch/arm/mach-sun7i/rf/wifi_pm_rtl8188eu.c:222/rtl8188eu_power()! D/WifiHW ( 1670): faied to read proc/net/wireless D/WifiHW ( 1670): loading wifi driver... D/WifiHW ( 1670): faied to read proc/net/wireless D/WifiHW ( 1670): loading wifi driver... I/USB3G ( 1258): event { 'add', '/devices/platform/sw-ehci.2/usb4/4-1', 'usb', '', 189, 385 } I/USB3G ( 1258): path : '/sys/devices/platform/sw-ehci.2/usb4/4-1' I/USB3G ( 1258): VID :size 5,vid_path '/sys/devices/platform/sw-ehci.2/usb4/4-1/idVendor',VID '0bda I/USB3G ( 1258): '. I/USB3G ( 1258): PID :size 5,Pid_path '/sys/devices/platform/sw-ehci.2/usb4/4-1/idProduct',PID '8179 I/USB3G ( 1258): '. I/USB3G ( 1258): cmd=source /system/xbin/usb_modeswitch.sh /system/etc/usb_modeswitch.d/0bda_8179 &, D/WifiHW ( 1670): faied to read proc/net/wireless D/WifiHW ( 1670): loading wifi driver... I/USB3G ( 1258): excute ret:0,err:No such file or directory I/USB3G ( 1258): free cmd W/ContextImpl( 1670): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1123 com.android.server.usb.UsbSettingsManager.deviceAttached:621 com.android.server.usb.UsbHostManager.usbDeviceAdded:156 com.android.server.usb.UsbHostManager.monitorUsbHostBus:-2 com.android.server.usb.UsbHostManager.access$000:38 D/Tethering( 1670): sendTetherStateChangedBroadcast 1, 0, 0 W/SocketClient( 1249): write error (Broken pipe) D/Tethering( 1670): InitialState.processMessage what=4 D/Tethering( 1670): sendTetherStateChangedBroadcast 0, 0, 0 D/WifiHW ( 1670): faied to read proc/net/wireless D/WifiHW ( 1670): loading wifi driver... D/WifiHW ( 1249): Enter: wifi_get_fw_path function, fw_type=0, D/WifiHW ( 1249): Eneter: wifi_change_fw_path, fwpath = STA. D/SoftapController( 1249): Softap fwReload - Ok D/CommandListener( 1249): Setting iface cfg D/CommandListener( 1249): Trying to bring down wlan0 D/WifiMonitor( 1670): startMonitoring(wlan0) with mConnected = false I/wpa_supplicant( 2247): Successfully initialized wpa_supplicant I/wpa_supplicant( 2247): rfkill: Cannot open RFKILL control device D/BluetoothAdapter( 1931): 1103979928: getState() : mService = null. Returning STATE_OFF I/wpa_supplicant( 2247): rfkill: Cannot open RFKILL control device D/WifiConfigStore( 1670): Loading config and enabling all networks E/WifiConfigStore( 1670): Error parsing configurationjava.io.FileNotFoundException: /data/misc/wifi/ipconfig.txt: open failed: ENOENT (No such file or directory) D/BluetoothAdapter( 1931): 1103979928: getState() : mService = null. Returning STATE_OFF E/WifiStateMachine( 1670): Failed to set device name wing_k70 E/WifiStateMachine( 1670): Failed to set manufacturer Allwinner E/WifiStateMachine( 1670): Failed to set model name AOSP on wing E/WifiStateMachine( 1670): Failed to set model number AOSP on wing E/WifiStateMachine( 1670): Failed to set serial number 582034060190a829459 E/WifiStateMachine( 1670): Failed to set WPS config methods E/WifiStateMachine( 1670): Failed to set primary device type 10-0050F204-5 D/CommandListener( 1249): Setting iface cfg D/CommandListener( 1249): Trying to bring up p2p0 D/WifiMonitor( 1670): startMonitoring(p2p0) with mConnected = true E/WifiStateMachine( 1670): Failed to set frequency band 0 [ 57.384990] init: untracked pid 2221 exited D/InitAlarmsService( 2053): Clearing and rescheduling alarms. W/SocketClient( 1249): write error (Broken pipe) D/ConnectivityService( 1670): Sampling interval elapsed, updating statistics .. D/ConnectivityService( 1670): Done. D/ConnectivityService( 1670): Setting timer for 720seconds I/MediaFocusControl( 1670): AudioFocus abandonAudioFocus() from android.media.AudioManager@41cc7828com.android.music.MediaPlaybackService$3@41cc66a8 I/ActivityManager( 1670): Start proc com.android.musicfx for broadcast com.android.musicfx/.ControlPanelReceiver: pid=2265 uid=10008 gids={50008, 3003, 3002} V/MusicFXControlPanelReceiver( 2265): onReceive V/MusicFXControlPanelReceiver( 2265): Action: android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION V/MusicFXControlPanelReceiver( 2265): Package name: com.android.music V/MusicFXControlPanelReceiver( 2265): Audio session: 8 V/MusicFXControlPanelEffect( 2265): closeSession(android.app.ReceiverRestrictedContext@41ccc508, com.android.music, 8) ^C 130|shell@wing-k70:/ $
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值