android开启多进程问题

szr043 2015-07-09 05:27:55
目前程序遇到问题,需要一个应用调用多个进程测试压力,开始是采用开启service的方法但是发现还是在一个进程中,后来通过查询是在注册文件中service里加入android:process属性,但是这样的话我的自定义LocalBind中传递的context的参数就无法再应用于service的方法中,有没有好的android开启多线程的方法,求助大神!!!!

附上部分开启service代码:
private ServiceConnection mConnection = new ServiceConnection() {

@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub

}

@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
System.out.println("bindservice1连接成功!");
((MyService.LocalBinder)service).getService(MainActivity.this);(这里传递context,但是添加android process后无法系统报错,貌似是传不过去了)
}
};

附上报错Log:
07-09 16:28:01.346: W/dalvikvm(31726): threadid=1: thread exiting with uncaught exception (group=0x4156dbc0)
07-09 16:28:01.346: E/AndroidRuntime(31726): FATAL EXCEPTION: main
07-09 16:28:01.346: E/AndroidRuntime(31726): Process: com.logintext, PID: 31726
07-09 16:28:01.346: E/AndroidRuntime(31726): java.lang.ClassCastException: android.os.BinderProxy cannot be cast to com.logintext.MyService$LocalBinder
07-09 16:28:01.346: E/AndroidRuntime(31726): at com.logintext.MainActivity$1.onServiceConnected(MainActivity.java:134)
07-09 16:28:01.346: E/AndroidRuntime(31726): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1110)
07-09 16:28:01.346: E/AndroidRuntime(31726): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1127)
07-09 16:28:01.346: E/AndroidRuntime(31726): at android.os.Handler.handleCallback(Handler.java:733)
07-09 16:28:01.346: E/AndroidRuntime(31726): at android.os.Handler.dispatchMessage(Handler.java:95)
07-09 16:28:01.346: E/AndroidRuntime(31726): at android.os.Looper.loop(Looper.java:136)
07-09 16:28:01.346: E/AndroidRuntime(31726): at android.app.ActivityThread.main(ActivityThread.java:5281)
07-09 16:28:01.346: E/AndroidRuntime(31726): at java.lang.reflect.Method.invokeNative(Native Method)
07-09 16:28:01.346: E/AndroidRuntime(31726): at java.lang.reflect.Method.invoke(Method.java:515)
07-09 16:28:01.346: E/AndroidRuntime(31726): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:932)
07-09 16:28:01.346: E/AndroidRuntime(31726): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:748)
07-09 16:28:01.346: E/AndroidRuntime(31726): at dalvik.system.NativeStart.main(Native Method)
07-09 16:28:01.356: W/dalvikvm(31743): No implementation found for native Lcom/huawei/anyoffice/sdk/log/Log;.writeLogToFile:(ILjava/lang/String;Ljava/lang/String;)I
07-09 16:28:01.356: E/ERROR(31743): __@@log write log catch!
07-09 16:28:01.366: I/dalvikvm(31743): threadid=11: recursive native library load attempt (/data/app-lib/com.logintext-2/libanyofficesdk.so)
07-09 16:28:01.376: W/dalvikvm(31743): threadid=11: thread exiting with uncaught exception (group=0x4156dbc0)
07-09 16:28:01.376: E/AndroidRuntime(31743): FATAL EXCEPTION: AsyncTask #1
07-09 16:28:01.376: E/AndroidRuntime(31743): Process: com.logintext.remote, PID: 31743
07-09 16:28:01.376: E/AndroidRuntime(31743): java.lang.RuntimeException: An error occured while executing doInBackground()
07-09 16:28:01.376: E/AndroidRuntime(31743): at android.os.AsyncTask$3.done(AsyncTask.java:300)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
07-09 16:28:01.376: E/AndroidRuntime(31743): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.lang.Thread.run(Thread.java:841)
07-09 16:28:01.376: E/AndroidRuntime(31743): Caused by: java.lang.NullPointerException
07-09 16:28:01.376: E/AndroidRuntime(31743): at com.huawei.anyoffice.sdk.SDKContext.getCurVersion(SDKContext.java:360)
07-09 16:28:01.376: E/AndroidRuntime(31743): at com.huawei.anyoffice.sdk.SDKContext.init(SDKContext.java:161)
07-09 16:28:01.376: E/AndroidRuntime(31743): at com.logintext.MyService$3.doInBackground(MyService.java:86)
07-09 16:28:01.376: E/AndroidRuntime(31743): at com.logintext.MyService$3.doInBackground(MyService.java:1)
07-09 16:28:01.376: E/AndroidRuntime(31743): at android.os.AsyncTask$2.call(AsyncTask.java:288)
07-09 16:28:01.376: E/AndroidRuntime(31743): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-09 16:28:01.376: E/AndroidRuntime(31743): ... 4 more
...全文
271 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cowin111 2015-07-12
  • 打赏
  • 举报
回复
去查下Messenger的用法
开发者_android 2015-07-10
  • 打赏
  • 举报
回复
((MyService.LocalBinder)service).getService(MainActivity.this); myService=MyService.Stub.asInterface(service);

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧