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官方入门文档[11]支持不同平台版本
  2. 2019博客汇总
  3. System Permissions—— android系统权限
  4. Android基础(32)Android内存及进程包活
  5. iOS程序猿的Android之路--Android的前世今生
  6. Android(安卓)Auto
  7. 浅析Android线程模型
  8. android ndk 开发之 在 应用程序中使用 jni
  9. 谷歌升级手机Android商城 趋向社交网络应用

随机推荐

  1. android 重命名文件
  2. Android利用tcpdump抓包
  3. Android(安卓)旧电视退出效果
  4. Android连接网络
  5. 3. android 自动完成文本框
  6. Android(安卓)TextView 字体描边
  7. Android(安卓)监听手机GPS打开状态实现代
  8. Android获取WiFi ip相关信息
  9. How to make android app's background i
  10. Android工具类