/*
* Copyright (C) 2006-2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.server.am;
import com.android.internal.os.BatteryStatsImpl;
import com.android.server.AttributeCache;
import com.android.server.IntentResolver;
import com.android.server.ProcessMap;
import com.android.server.ProcessStats;
import com.android.server.SystemServer;
import com.android.server.Watchdog;
import com.android.server.WindowManagerService;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.ActivityThread;
import android.app.AlertDialog;
import android.app.ApplicationErrorReport;
import android.app.Dialog;
import android.app.IActivityController;
import android.app.IActivityWatcher;
import android.app.IApplicationThread;
import android.app.IInstrumentationWatcher;
import android.app.IServiceConnection;
import android.app.IThumbnailReceiver;
import android.app.Instrumentation;
import android.app.PendingIntent;
import android.app.ResultInfo;
import android.backup.IBackupManager;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IIntentReceiver;
import android.content.IIntentSender;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ConfigurationInfo;
import android.content.pm.IPackageDataObserver;
import android.content.pm.IPackageManager;
import android.content.pm.InstrumentationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PathPermission;
import android.content.pm.ProviderInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Binder;
import android.os.Bundle;
import android.os.Environment;
import android.os.FileUtils;
import android.os.Handler;
import android.os.IBinder;
import android.os.IPermissionController;
import android.os.Looper;
import android.os.Message;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.PowerManager;
import android.os.Process;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.provider.Checkin;
import android.provider.Settings;
import android.server.data.CrashData;
import android.server.data.StackTraceElementData;
import android.server.data.ThrowableData;
import android.text.TextUtils;
import android.util.Config;
import android.util.EventLog;
import android.util.Log;
import android.util.PrintWriterPrinter;
import android.util.SparseArray;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.view.WindowManagerPolicy;
import dalvik.system.Zygote;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.IllegalStateException;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
public final class ActivityManagerService extends ActivityManagerNative implements Watchdog.Monitor {
static final String TAG = "ActivityManager";
static final boolean DEBUG = false;
static final boolean localLOGV = DEBUG ? Config.LOGD : Config.LOGV;
static final boolean DEBUG_SWITCH = localLOGV || false;
static final boolean DEBUG_TASKS = localLOGV || false;
static final boolean DEBUG_PAUSE = localLOGV || false;
static final boolean DEBUG_OOM_ADJ = localLOGV || false;
static final boolean DEBUG_TRANSITION = localLOGV || false;
static final boolean DEBUG_BROADCAST = localLOGV || false;
static final boolean DEBUG_BROADCAST_LIGHT = DEBUG_BROADCAST || false;
static final boolean DEBUG_SERVICE = localLOGV || false;
static final boolean DEBUG_VISBILITY = localLOGV || false;
static final boolean DEBUG_PROCESSES = localLOGV || false;
static final boolean DEBUG_USER_LEAVING = localLOGV || false;
static final boolean DEBUG_RESULTS = localLOGV || false;
static final boolean DEBUG_BACKUP = localLOGV || true;
static final boolean VALIDATE_TOKENS = false;
static final boolean SHOW_ACTIVITY_START_TIME = true;
// Control over CPU and battery monitoring.
static final long BATTERY_STATS_TIME = 30*60*1000; // write battery stats every 30 minutes.
static final boolean MONITOR_CPU_USAGE = true;
static final long MONITOR_CPU_MIN_TIME = 5*1000; // don't sample cpu less than every 5 seconds.
static final long MONITOR_CPU_MAX_TIME = 0x0fffffff; // wait possibly forever for next cpu sample.
static final boolean MONITOR_THREAD_CPU_USAGE = false;
// Event log tags
static final int LOG_CONFIGURATION_CHANGED = 2719;
static final int LOG_CPU = 2721;
static final int LOG_AM_FINISH_ACTIVITY = 30001;
static final int LOG_TASK_TO_FRONT = 30002;
static final int LOG_AM_NEW_INTENT = 30003;
static final int LOG_AM_CREATE_TASK = 30004;
static final int LOG_AM_CREATE_ACTIVITY = 30005;
static final int LOG_AM_RESTART_ACTIVITY = 30006;
static final int LOG_AM_RESUME_ACTIVITY = 30007;
static final int LOG_ANR = 30008;
static final int LOG_ACTIVITY_LAUNCH_TIME = 30009;
static final int LOG_AM_PROCESS_BOUND = 30010;
static final int LOG_AM_PROCESS_DIED = 30011;
static final int LOG_AM_FAILED_TO_PAUSE_ACTIVITY = 30012;
static final int LOG_AM_PAUSE_ACTIVITY = 30013;
static final int LOG_AM_PROCESS_START = 30014;
static final int LOG_AM_PROCESS_BAD = 30015;
static final int LOG_AM_PROCESS_GOOD = 30016;
static final int LOG_AM_LOW_MEMORY = 30017;
static final int LOG_AM_DESTROY_ACTIVITY = 30018;
static final int LOG_AM_RELAUNCH_RESUME_ACTIVITY = 30019;
static final int LOG_AM_RELAUNCH_ACTIVITY = 30020;
static final int LOG_AM_KILL_FOR_MEMORY = 30023;
static final int LOG_AM_BROADCAST_DISCARD_FILTER = 30024;
static final int LOG_AM_BROADCAST_DISCARD_APP = 30025;
static final int LOG_AM_CREATE_SERVICE = 30030;
static final int LOG_AM_DESTROY_SERVICE = 30031;
static final int LOG_AM_PROCESS_CRASHED_TOO_MUCH = 30032;
static final int LOG_AM_DROP_PROCESS = 30033;
static final int LOG_AM_SERVICE_CRASHED_TOO_MUCH = 30034;
static final int LOG_AM_SCHEDULE_SERVICE_RESTART = 30035;
static final int LOG_AM_PROVIDER_LOST_PROCESS = 30036;
static final int LOG_BOOT_PROGRESS_AMS_READY = 3040;
static final int LOG_BOOT_PROGRESS_ENABLE_SCREEN = 3050;
// The flags that are set for all calls we make to the package manager.
static final int STOCK_PM_FLAGS = PackageManager.GET_SHARED_LIBRARY_FILES;
private static final String SYSTEM_SECURE = "ro.secure";
// This is the maximum number of application processes we would like
// to have running. Due to the asynchronous nature of things,
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android 1.6 源码 (2000个子文件)
ActivityManagerService.java 526KB
WindowManagerService.java 383KB
View.java 308KB
PackageManagerService.java 299KB
TextView.java 253KB
FormatterTest.java 221KB
ContactsProvider.java 219KB
ScannerTest.java 215KB
WebView.java 206KB
Intent.java 196KB
BrowserActivity.java 194KB
CalendarProvider.java 183KB
LoggerTest.java 180KB
Component.java 178KB
InCallScreen.java 177KB
ActivityThread.java 166KB
DatagramChannelTest.java 157KB
FileChannelTest.java 156KB
Activity.java 144KB
Settings.java 137KB
SocketChannelTest.java 137KB
ComposeMessageActivity.java 136KB
DatabaseMetaData.java 133KB
Charset_TestGenerator_Res.java 129KB
ViewGroup.java 126KB
BatteryStatsImpl.java 125KB
ListView.java 125KB
AbsListView.java 124KB
SocketTest.java 124KB
BigDecimal.java 122KB
ViewRoot.java 121KB
BigDecimalArithmeticTest.java 120KB
RIL.java 119KB
CalendarView.java 117KB
ObjectInputStream.java 115KB
ImProvider.java 114KB
Character.java 112KB
PackageParser.java 111KB
SerializationStressTest4.java 109KB
Collections.java 106KB
DatagramSocketTest.java 106KB
PreparedStatementTest.java 105KB
SearchManager.java 102KB
Arrays.java 102KB
MediaProvider.java 101KB
DecimalFormatTest.java 101KB
Formatter.java 101KB
RecurrenceProcessorTest.java 100KB
PhoneWindow.java 100KB
ApplicationContext.java 99KB
HTMLReportGenerator.java 99KB
JunitTestCases.java 98KB
Term.java 97KB
FileTest.java 97KB
EncryptedPrivateKeyInfoTest.java 96KB
Gmail.java 95KB
X509CertSelectorTest.java 95KB
GraphicalLayoutEditor.java 95KB
DatabaseMetaDataTest.java 95KB
HTMLSchema.java 93KB
MidWindow.java 92KB
ActivityManagerNative.java 92KB
SyncManager.java 92KB
DoubleTest.java 90KB
PKIXCertPathReviewer.java 90KB
ConnectionTest.java 90KB
OpenWnnJAJP.java 89KB
ArraysTest.java 88KB
PatternTest.java 88KB
ByteBufferTest.java 87KB
Character_UnicodeBlockTest.java 87KB
CollectionsTest.java 87KB
EditContactActivity.java 86KB
EncryptedPrivateKeyInfoData.java 86KB
GLLogWrapper.java 85KB
InputMethodService.java 85KB
URITest.java 85KB
ObjectOutputStream.java 84KB
InstrVisitor.java 84KB
Scanner.java 83KB
CharacterTest.java 83KB
ExtractStringRefactoring.java 82KB
SerializationStressTest2.java 82KB
Launcher.java 82KB
Rops.java 81KB
EnumSetTest.java 80KB
AbstractQueuedSynchronizer.java 79KB
Resources.java 79KB
ContactsListActivity.java 79KB
PowerManagerService.java 78KB
WifiService.java 78KB
FieldTest.java 77KB
SearchDialog.java 77KB
FileUtils.java 77KB
GSMPhoneTest.java 77KB
CallFeaturesSetting.java 77KB
WifiStateTracker.java 76KB
PhoneWindowManager.java 76KB
MessagingController.java 76KB
TimeLineView.java 76KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- sinesp2011-10-10不错的源码,但感觉有点老,谢谢分享啊。
yaku2688
- 粉丝: 38
- 资源: 92
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功