如题所示,我在写android应用程序的时候,想要新建一个进程来执行数据的获取和发送,而不让这个操作影响UI进程,导致界面假死(我已经用过新建线程的方法,但是我是去取framebuffer的数据,新建线程的方式程序直接崩掉,因此我想考虑用进程)。
但是总是没法正常的启动新建的进程,不知道是路径的问题还是环境的问题,以前没有用java新建过进程。请大家帮帮忙。
点击按钮,新建进程并执行:
- Java code
package com.liuqiang;...... StartSendButton.setOnClickListener(new OnClickListener() //点击按钮,新建进程并执行 { public void onClick(View v) { try {//调用另外一个类JavaScreenShot。两个类文件都在包com.liuqiang中 ProcessBuilder p=new ProcessBuilder("java","com.liuqiang.JavaScreenShot"); Process process=p.start(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
异常是:
Error running exec(). Command: [java, com.liuqiang.JavaScreenShot] Working Directory: null Environment: [ANDROID_SOCKET_zygote=9, ANDROID_BOOTLOGO=1, EXTERNAL_STORAGE=/mnt/sdcard, ANDROID_ASSETS=/system/app, PATH=/sbin:/system/sbin:/system/bin:/system/xbin, ASEC_MOUNTPOINT=/mnt/asec, BOOTCLASSPATH=/system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar, BT_FW_PATH=/system/lib/firmware, ANDROID_DATA=/data, LD_LIBRARY_PATH=/system/lib, ANDROID_ROOT=/system, ANDROID_PROPERTY_WORKSPACE=8,32768]
谢谢
------解决方案--------------------
其实没有必要开一个进程的。
------解决方案--------------------
Android没接触过,不过为什么不用线程,非要用进程这种重量级的东西呢,而且Android是否支持你新建线程还是另外说呢
------解决方案--------------------
android我们一般都是调用activity吧,或者service ,直接启动进程没玩过
--signature------------------------------------
http://www.mowker.com/qkdq.htm
------解决方案--------------------
应该是路径的问题