我正在做一個應用程序,包括髮送一個從android接收數據到微控制器的接收端,這是從微控制器到android我正在使用一個字節緩衝區存儲數據。但是在這裏我遇到了一個問題,我希望在不同階段接收多個字節的數據,因爲我想清除字節緩衝區並重新使用相同的字節緩衝區,任何人都可以告訴我如何清除字節緩衝區如何清除Android中的字節緩衝區
這是我的接收代碼:
ByteBuffer buffer = ByteBuffer.allocate(64);
byte[] length = buffer.array();
byte[] Recevied_Data = new byte[64];
UsbRequest request = new UsbRequest();
while (true)
{
request.initialize(UsbDriver.USB_Device_Connection, UsbDriver.Data_In_End_Point);
request.queue(buffer, 64);
if (UsbDriver.USB_Device_Connection.requestWait() == request)
{
for(int i=0;i<length.length;i++)
{
Recevied_Data[i]=buffer.get(i);
if(Recevied_Data[0]==0x02 && Recevied_Data[1]==0x3B && Recevied_Data[2]==0x3B && Recevied_Data[3]==0x00 && Recevied_Data[4]==0x03){
Communication_Ok=true;
// **I want to clear the Buffer Here**
}
}
}
}
,請嘗試讀取http://stackoverflow.com/questions/8462200/examples-of-forcing-freeing-of-native-memory-direct-bytebuffer-has-allocated-us阿邁對您有所幫助。 –
你試過了嗎:buffer.clear()? – TheTanic
但是在這裏,我將字節緩衝區分配給Received_data [i]我沒有使用那個傢伙@TheTanic – dEePU