OK,从现在开始,我们会一个要点一个要点的把Android目前在开发上比较中要的几个知识点从源码开始详细分析,当然,在这里,我主要的是分析framework层下的代码,今天我给分析是关于ActivityManagerService.java这个类,分析内容主要为其内部原理,由于本类代码比较多,所以我不可能在一个篇幅中全部给细细分析与展示出来,所以我主要分析其内部原理:
好了先看下面:
package com.android.server.am;
18
19 import com.android.internal.R;
20 import com.android.internal.os.BatteryStatsImpl;
21 import com.android.internal.os.ProcessStats;
22 import com.android.server.AttributeCache;
23 import com.android.server.IntentResolver;
24 import com.android.server.ProcessMap;
25 import com.android.server.SystemServer;
26 import com.android.server.Watchdog;
27 import com.android.server.am.ActivityStack.ActivityState;
28 import com.android.server.wm.WindowManagerService;
30 import dalvik.system.Zygote;
32 import android.app.Activity;
33 import android.app.ActivityManager;
34 import android.app.ActivityManagerNative;
35 import android.app.ActivityThread;
36 import android.app.AlertDialog;
37 import android.app.AppGlobals;
38 import android.app.ApplicationErrorReport;
39 import android.app.Dialog;
40 import android.app.IActivityController;
41 import android.app.IActivityWatcher;
42 import android.app.IApplicationThread;
43 import android.app.IInstrumentationWatcher;
44 import android.app.INotificationManager;
45 import android.app.IProcessObserver;
46 import android.app.IServiceConnection;
47 import android.app.IThumbnailReceiver;
48 import android.app.Instrumentation;
49 import android.app.Notification;
50 import android.app.NotificationManager;
51 import android.app.PendingIntent;
52import android.app.Service;
53 import android.app.backup.IBackupManager;
54 import android.content.ActivityNotFoundException;
55 import android.content.BroadcastReceiver;
56 import android.content.ComponentCallbacks2;
57 import android.content.ComponentName;
58 import android.content.ContentResolver;
59 import android.content.Context;
60 import android.content.DialogInterface;
61 import android.content.Intent;
62 import android.content.IntentFilter;
63 import android.content.IIntentReceiver;
64 import android.content.IIntentSender;
65 import android.content.IntentSender;
66 import android.content.pm.ActivityInfo;
67 import android.content.pm.ApplicationInfo;
68 import android.content.pm.ConfigurationInfo;
69 import android.content.pm.IPackageDataObserver;
70 import android.content.pm.IPackageManager;
71 import android.content.pm.InstrumentationInfo;
72 import android.content.pm.PackageInfo;
73 import android.content.pm.PackageManager;
74 import android.content.pm.PathPermission;
75 import android.content.pm.ProviderInfo;
76 import android.content.pm.ResolveInfo;
77 import android.content.pm.ServiceInfo;
78 import android.content.pm.PackageManager.NameNotFoundException;
79 import android.content.res.CompatibilityInfo;
80 import android.content.res.Configuration;
81 import android.graphics.Bitmap;
82 import android.net.Proxy;
83 import android.net.ProxyProperties;
84 import android.net.Uri;
85 import android.os.Binder;
86 import android.os.Build;
87 import android.os.Bundle
好了先看下面:
package com.android.server.am;
18
19 import com.android.internal.R;
20 import com.android.internal.os.BatteryStatsImpl;
21 import com.android.internal.os.ProcessStats;
22 import com.android.server.AttributeCache;
23 import com.android.server.IntentResolver;
24 import com.android.server.ProcessMap;
25 import com.android.server.SystemServer;
26 import com.android.server.Watchdog;
27 import com.android.server.am.ActivityStack.ActivityState;
28 import com.android.server.wm.WindowManagerService;
30 import dalvik.system.Zygote;
32 import android.app.Activity;
33 import android.app.ActivityManager;
34 import android.app.ActivityManagerNative;
35 import android.app.ActivityThread;
36 import android.app.AlertDialog;
37 import android.app.AppGlobals;
38 import android.app.ApplicationErrorReport;
39 import android.app.Dialog;
40 import android.app.IActivityController;
41 import android.app.IActivityWatcher;
42 import android.app.IApplicationThread;
43 import android.app.IInstrumentationWatcher;
44 import android.app.INotificationManager;
45 import android.app.IProcessObserver;
46 import android.app.IServiceConnection;
47 import android.app.IThumbnailReceiver;
48 import android.app.Instrumentation;
49 import android.app.Notification;
50 import android.app.NotificationManager;
51 import android.app.PendingIntent;
52import android.app.Service;
53 import android.app.backup.IBackupManager;
54 import android.content.ActivityNotFoundException;
55 import android.content.BroadcastReceiver;
56 import android.content.ComponentCallbacks2;
57 import android.content.ComponentName;
58 import android.content.ContentResolver;
59 import android.content.Context;
60 import android.content.DialogInterface;
61 import android.content.Intent;
62 import android.content.IntentFilter;
63 import android.content.IIntentReceiver;
64 import android.content.IIntentSender;
65 import android.content.IntentSender;
66 import android.content.pm.ActivityInfo;
67 import android.content.pm.ApplicationInfo;
68 import android.content.pm.ConfigurationInfo;
69 import android.content.pm.IPackageDataObserver;
70 import android.content.pm.IPackageManager;
71 import android.content.pm.InstrumentationInfo;
72 import android.content.pm.PackageInfo;
73 import android.content.pm.PackageManager;
74 import android.content.pm.PathPermission;
75 import android.content.pm.ProviderInfo;
76 import android.content.pm.ResolveInfo;
77 import android.content.pm.ServiceInfo;
78 import android.content.pm.PackageManager.NameNotFoundException;
79 import android.content.res.CompatibilityInfo;
80 import android.content.res.Configuration;
81 import android.graphics.Bitmap;
82 import android.net.Proxy;
83 import android.net.ProxyProperties;
84 import android.net.Uri;
85 import android.os.Binder;
86 import android.os.Build;
87 import android.os.Bundle