MonitoringInstrumentation

public class MonitoringInstrumentation
extends Instrumentation

java.lang.Object
   ↳ android.app.Instrumentation
     ↳ android.support.test.runner.MonitoringInstrumentation
Known Direct Subclasses


一种仪器,可启用多个高级功能,并在仪器使用情况下对应用程序状态做出一些硬性保证。

A short list of these capabilities: This Instrumentation is *NOT* a test instrumentation (some of its subclasses are). It makes no assumptions about what the subclass wants to do.

Summary

Nested classes

class MonitoringInstrumentation.ActivityFinisher

循环所有尚未完成的活动并明确地调用完成。

Inherited constants

From class android.app.Instrumentation

Public constructors

MonitoringInstrumentation()

Public methods

void callActivityOnCreate(Activity activity, Bundle bundle)
void callActivityOnDestroy(Activity activity)
void callActivityOnPause(Activity activity)
void callActivityOnRestart(Activity activity)
void callActivityOnResume(Activity activity)
void callActivityOnStart(Activity activity)
void callActivityOnStop(Activity activity)
void callApplicationOnCreate(Application app)
void execStartActivities(Context who, IBinder contextThread, IBinder token, Activity target, Intent[] intents, Bundle options)

Instrumentation.ActivityResult execStartActivity(Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode, Bundle options)

Instrumentation.ActivityResult execStartActivity(Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode)

Instrumentation.ActivityResult execStartActivity(Context who, IBinder contextThread, IBinder token, Fragment target, Intent intent, int requestCode, Bundle options)

void finish(int resultCode, Bundle results)

确保仪器退出前完成在此仪器中启动的所有活动。

Activity newActivity(Class<?> clazz, Context context, IBinder token, Application application, Intent intent, ActivityInfo info, CharSequence title, Activity parent, String id, Object lastNonConfigurationInstance)
void onCreate(Bundle arguments)

设置生命周期监控和参数注册表。

void onDestroy()
boolean onException(Object obj, Throwable e)
void onStart()

onStart()的这个实现将保证应用程序的onCreate方法在返回时完成。

Activity startActivitySync(Intent intent)

Protected methods

void dumpThreadStateToOutputs(String outputFileName)
String getThreadState()
final void specifyDexMakerCacheProperty()
void waitForActivitiesToComplete()

确保我们已经onStopped()所有onStarted()的活动。

Inherited methods

From class android.app.Instrumentation
From class java.lang.Object

Public constructors

MonitoringInstrumentation

MonitoringInstrumentation ()

Public methods

callActivityOnCreate

void callActivityOnCreate (Activity activity, 
                Bundle bundle)

Parameters
activity Activity
bundle Bundle

callActivityOnDestroy

void callActivityOnDestroy (Activity activity)

Parameters
activity Activity

callActivityOnPause

void callActivityOnPause (Activity activity)

Parameters
activity Activity

callActivityOnRestart

void callActivityOnRestart (Activity activity)

Parameters
activity Activity

callActivityOnResume

void callActivityOnResume (Activity activity)

Parameters
activity Activity

callActivityOnStart

void callActivityOnStart (Activity activity)

Parameters
activity Activity

callActivityOnStop

void callActivityOnStop (Activity activity)

Parameters
activity Activity

callApplicationOnCreate

void callApplicationOnCreate (Application app)

Parameters
app Application

execStartActivities

void execStartActivities (Context who, 
                IBinder contextThread, 
                IBinder token, 
                Activity target, 
                Intent[] intents, 
                Bundle options)

Parameters
who Context
contextThread IBinder
token IBinder
target Activity
intents Intent
options Bundle

execStartActivity

Instrumentation.ActivityResult execStartActivity (Context who, 
                IBinder contextThread, 
                IBinder token, 
                Activity target, 
                Intent intent, 
                int requestCode, 
                Bundle options)

Parameters
who Context
contextThread IBinder
token IBinder
target Activity
intent Intent
requestCode int
options Bundle
Returns
Instrumentation.ActivityResult

execStartActivity

Instrumentation.ActivityResult execStartActivity (Context who, 
                IBinder contextThread, 
                IBinder token, 
                Activity target, 
                Intent intent, 
                int requestCode)

Parameters
who Context
contextThread IBinder
token IBinder
target Activity
intent Intent
requestCode int
Returns
Instrumentation.ActivityResult

execStartActivity

Instrumentation.ActivityResult execStartActivity (Context who, 
                IBinder contextThread, 
                IBinder token, 
                Fragment target, 
                Intent intent, 
                int requestCode, 
                Bundle options)

Parameters
who Context
contextThread IBinder
token IBinder
target Fragment
intent Intent
requestCode int
options Bundle
Returns
Instrumentation.ActivityResult

finish

void finish (int resultCode, 
                Bundle results)

确保仪器退出前完成在此仪器中启动的所有活动。

覆盖此方法的子类应完成其处理,然后调用super.finish来调用此逻辑。 在退出前不等待所有活动完成()会导致设备宽泛不稳定。

Parameters
resultCode int
results Bundle

newActivity

Activity newActivity (Class<?> clazz, 
                Context context, 
                IBinder token, 
                Application application, 
                Intent intent, 
                ActivityInfo info, 
                CharSequence title, 
                Activity parent, 
                String id, 
                Object lastNonConfigurationInstance)

Parameters
clazz Class
context Context
token IBinder
application Application
intent Intent
info ActivityInfo
title CharSequence
parent Activity
id String
lastNonConfigurationInstance Object
Returns
Activity
Throws
InstantiationException
IllegalAccessException

onCreate

void onCreate (Bundle arguments)

设置生命周期监控和参数注册表。

子类必须调用onCreate()。 这个onCreate方法不会调用start(),如果需要,它是子类的责任。

Parameters
arguments Bundle

onDestroy

void onDestroy ()

onException

boolean onException (Object obj, 
                Throwable e)

Parameters
obj Object
e Throwable
Returns
boolean

onStart

void onStart ()

onStart()的这个实现将保证应用程序的onCreate方法在返回时完成。

在执行任何接触应用程序的代码和它的状态之前,子类应该调用super.onStart()。

startActivitySync

Activity startActivitySync (Intent intent)

Parameters
intent Intent
Returns
Activity

Protected methods

dumpThreadStateToOutputs

void dumpThreadStateToOutputs (String outputFileName)

Parameters
outputFileName String

getThreadState

String getThreadState ()

Returns
String

specifyDexMakerCacheProperty

void specifyDexMakerCacheProperty ()

waitForActivitiesToComplete

void waitForActivitiesToComplete ()

确保我们已经onStopped()所有onStarted()的活动。

根据Activity的合同,这个过程不会在onStart和onStop之间产生冲突。 打破这个契约(如果你愿意的话,finish()会导致不良行为(包括完全重启system_server))。

我们给应用程序2秒钟停止所有活动,然后继续。