androidWebsocketDemo icon indicating copy to clipboard operation
androidWebsocketDemo copied to clipboard

线程的问题

Open zjx19930911 opened this issue 8 years ago • 2 comments

I/Choreographer: Skipped 35 frames! The application may be doing too much work on its main thread. 我用demo 发现只要执行 WebSocketService.webSocketConnect(); 界面一多 就会非常卡顿

zjx19930911 avatar Jan 12 '17 07:01 zjx19930911

你这个界面多是什么意思。。。。你UI上面有很多控件的意思吗

wu19910708 avatar Jan 14 '17 02:01 wu19910708

你可以试试把websocketservice里面的静态方法改成普通方法 然后用下面这个写法就能获得websocketservice的实例了 websocketservice里面加下面这段: @Nullable @Override public IBinder onBind(Intent intent) { return new WebsocketBinder(); }

public class WebsocketBinder extends Binder {

    public WebSocketService getService() {
        return WebSocketService.this;
    }
}

具体界面里面加下面这段: protected WebSocketService webSocketService; ServiceConnection conn = new ServiceConnection() {

    @Override
    public void onServiceDisconnected(ComponentName name) {

    }

    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
        webSocketService = ((WebSocketService.WebsocketBinder)service).getService();

    }
};

wu19910708 avatar Jan 14 '17 02:01 wu19910708