Articles of 进程

如何通过应用程序获取内存使用和CPU使用?

我发现这段代码可以获得整体cpu使用率。 这是否可以将其转换为通过进程告诉cpu使用情况? 是否有任何API可以让我们获得android的CPU或内存使用? private float readUsage() { try { RandomAccessFile reader = new RandomAccessFile(“/proc/stat”, “r”); String load = reader.readLine(); String[] toks = load.split(” “); long idle1 = Long.parseLong(toks[5]); long cpu1 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4]) + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]); try { Thread.sleep(360); } catch (Exception e) {} reader.seek(0); load = reader.readLine(); reader.close(); […]

Android可以在循环执行过程中杀死我的应用吗?

当Android决定从堆栈中删除一个应用程序以释放一些RAM ,如果正在销毁的应用程序当前在后台运行某个循环会发生什么? 循环会在执行过程中终止还是VM等待它完成?

获取正在运行的进程列表并终止特定进程

我正在执行以下代码: ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); List procInfos = actvityManager.getRunningTasks(1000); 然后,我杀死了一个我感兴趣的过程 actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName()); 其中process是procInfos一个条目。 问题是如果我再次运行getRunningTasks – 它仍会显示我(可能)被杀死的进程,而Android的任务管理器在调用killBackgroundProcesses之前列出了该进程并在该调用之后将其从列表中删除。 那么,关于任务管理器如何获得正在运行的进程列表的任何想法? 在无根设备上成功杀死第三方进程是否正常?

使用android:process =“:remote”重新创建android应用程序对象

我在我的应用程序中使用AIDL服务。 我也想运行它另一个进程,所以我在清单中的服务声明中使用android:process=”:remote” 。 我的问题是,当:remote进程启动时,它显然会重新创建Application对象。 当我覆盖应用程序对象并在onCreate()方法中调用大量客户端东西时,我真的不这样做。 但我希望服务代码与客户端驻留在同一个apk中。 我能做到吗? 是否在新进程启动时始终重新创建Application对象? 感谢你的帮助。 谢谢!

当进程被终止时,AlarmManager中的警报将被删除

我是android的新手所以请耐心等待。 我的主要活动在报警管理器中创建并报警,该报警管理器应该在特定时间点火,我的主要活动也创建广播接收器,假设接收警报触发的意图,一切正常,直到任务管理器查杀我的应用程序。 我已经检查了AlarmManager中的PendingIntent列表,并确认我的警报已从警报管理器中删除,我尝试添加服务并从服务中注册警报,我已经红了,这可能是因为我的广播接收器的IntentFilter被定义了在代码中而不是在清单中,它会在应用程序进程被杀后被杀死,而且我在这个问题上被困了两个星期:-(很大的混淆,我的设计错了? 这是我的需求: 警报将非常可靠,即使应用程序被杀死,甚至手机重启也是如此。 广播接收器也是如此。 先谢谢你,

使用多个进程的应用程序是否共享Dalvik实例?

我正在研究Android进程管理,我想知道使用多个进程(不是线程)的应用程序是否共享Dalvik实例,或者每个进程是否存在Dalvik实例,即使对于同一个应用程序也是如此。 你能指点一些官方消息来源( doc,talk,paper等)吗? 谢谢

registerOnSharedPreferenceChangeListener不适用于在不同进程中进行的更改

我在我的Activity中注册了registerOnSharedPreferenceChangeListener和我的SharedPreferences 。 当我在不同进程中运行的服务内部更改使用SharedPreferences保存的数据时,不会调用onSharedPreferenceChanged ! 我该怎么办才能让android调用onSharedPreferenceChanged ?

我应该何时使用Android的各种消息types?

我已经使用Android一年多了,但我仍然无法确定何时应该使用进程/线程之间的不同types的消息传递/通信。 我主要讨论的是广播Intents,使用AIDL进行services ,使用Handler发送消息和套接字通信。 其中许多工具可用于完成类似任务,但哪种工具更适合特定情况?

如何杀死第三方应用程序?

我的程序需要杀死一个特定的应用程序。 是否可以在股票,无根设备上? 如果是 – 如何? 我知道它的进程名称和PID。

Android:父进程(app)死后,subprocess(logcat)继续运行

我们的Android应用程序生成一个logcat shell进程,然后读取其结果进行处理。 但是,当应用程序停止时(例如,在开发期间重新编译后重新启动时),logcat进程将继续运行。 以下是此行为的示例: processes = new ArrayList(); try { processes.add(Runtime.getRuntime().exec(“logcat -v time”)); processes.add(Runtime.getRuntime().exec(“logcat -v time”)); processes.add(Runtime.getRuntime().exec(“logcat -v time”)); processes.add(Runtime.getRuntime().exec(“logcat -v time”)); } catch (IOException e) { // oh no! } Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { for (Process p : processes) { p.destroy(); } }; }); 将其添加到测试应用程序的onCreate()方法,启动它,然后使用设置管理器强制停止它。 subprocess将继续运行,现在父进程为1。 在如何杀死Android应用程序启动的logcat进程? 有人建议使用ProcessBuilder,但这不是解决方案,而且流程也会继续运行。 在父进程停止的Stopsubprocess中,它被建议使用一个关闭钩子 – 这不起作用,如上所示。 […]