Android process与Thread 的问题

public class Activity2 extends Activity
{
protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);



new Thread()
{
public void run()
{
dosomething();

}
}
.start();

}
在启动新线程时,出现如下错误:

W/ActivityManager( 81): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 81): Activity idle timeout for HistoryRecord

解决办法:为相应的Activity1及Activity2增加Android:process属性,强制使两个Activity处于不同的应用程序私有进程之中。

问题出现的具体原因待进一步研究。

/guide/topics/manifest/activity-element.html

<Activity>元素 Android:process属性定义了运行Activity所在进程的名称 。通常,一个应用程序的所有组件运行在应用程序创建的默认的进程。它具有与应用程序包相同的名称。<application>元素的 android:process属性可以为所有组件设置不同的默认进程名称。但是,每个组件都可以覆盖默认设置,让应用程序跨多个进程 。

如果分配给此属性的名称以一个冒号(':')开头,发 将创建一个新的属于应用程序的私有的进程,在这一进程中运行。

如果进程的名称由小写字母开始,活动将在该名称的全局进程中运行,只要它有这样做的权限。这样做将使在不同的应用程序中的组件共享一个进程,减少资源的使用。


更多相关文章

  1. [Android]你不知道的Android进程化(3)--进程等级
  2. Android中native进程内存泄露的调试技巧
  3. Android应用程序基础知识
  4. Android进程的so注入--Poison(稳定注入版)
  5. android进程创建分析
  6. 详解android应用程序的反编译
  7. Android 进程间通信之LocalSocket

随机推荐

  1. Linux---more命令学习
  2. 拆分gzip压缩日志文件而不将未压缩的拆分
  3. 安装Linux系统的磁盘分区
  4. linux中安装fcitx输入法
  5. Linux 环境变量与文件查找
  6. 学习笔记: shell 中的 set -e , set +e 用
  7. linux 服务器间文件传输
  8. Zabbix - LINUX下CPU,硬盘,流量,内存监控
  9. 读书笔记-Linux C 编程从基础到实践-第一
  10. 用GCC编译链接程序--编译链接器GCC常用功