咨询一下
我在安卓里面使用tcp(java.net.Socket)作为客户端发送30hz视频流到服务端,如果服务器代码断点或者休眠了,我的客户端几秒之后就会报内存溢出直接崩溃闪退。
我在socket初始化和发送数据部分都加了try catch无法捕捉到错误,发送数据使用如下代码
if(outputStream == null)outputStream=_socket.getOutputStream();
outputStream.write(inputData);
outputStream.flush();
初始化socket使用如下代码
_socket = new Socket(_targetIP,_targetPort);
想问问发生这种情况如何避免安卓程序崩溃,有什么检测方法能够知晓服务器端被阻塞了(send方法没有抛出任何异常),知晓阻塞之后如何快速释放掉发布出去的缓存
报的错误如下
FATAL EXCEPTION: video hardware encoder thread
java.lang.OutOfMemoryError: Failed to allocate a 1382412 byte allocation with 1143296 free bytes and 1116KB until OOM