在Activity 的onCreate() 函数里调用了另外一个函数(autoLogin()),在这个函数里开了一个新线程。线程报用了一个普通类里的一个静态函数。代码如下:Activity代码:
 protected void onCreate(Bundle savedInstanceState) {
autoLogin(this);
}private void autoLogin(final Context context){
    new Thread(new Runnable(){
         public void run(){
               IMSuper.login(context);
         }
    }).start();
}IMSuper里的代码:
public static void login(Context context){
     Connection(context);
}
当运行在线色代码时:始终都在报:no memory in 
java.lang.RuntimeException: No memory in memObj
  at android.database.CursorWindow.native_init
  at android.database.CursorWindow.<init>
  at android.database.CursorWindow.<init>
  at android.database.CursorWindow$1.createFromParcel
  at android.database.CursorWindow$1.createFromParcel
  at android.content.ContentProviderNative.onTransact
  at android.os.Binder.execTransact
  at dalvik.system.NativeStart.run非常不解  .....  哪位大侠遇到过望指小弟  ...

解决方案 »

  1.   

    Connection(context);这个干啥的
    虚拟机怎么会没有内存呢?
      

  2.   

    你的Connection肯定是连接数据库的吧。不能这样写
      

  3.   

    不是联接数据库,是联接服务器,代码如下:
    public void Connection(Context context){
        ConnectionConfguration cf = new ConnectionConfgurtion(ip,5999);
        XMPPConnection connection = new XMPPConnection(cf);
        connection.connect();
        connection.isConnection();
    }
      

  4.   

    new Thread(new Runnable(){
      public void run(){
      IMSuper.login(context);
      }
      }).start();
    使用handler来处理,并且把该方法放在非UI线程中!
      

  5.   

    请用handle 然后在用message来进行消息传递,不要在主线程直接调用你的业务代码