这有很多麻烦。它运行在Android Nougat和Marshmallow上,但在棒棒糖上它不起作用(主要是我的fireTV)。我遇到了问题。任何想法为什么这是崩溃?java.lang.ArithmeticException: divide by zerolong startTime = System.currentTimeMillis();InputStream is = response.body().byteStream();BufferedInputStream bis = new BufferedInputStream(is);long size = 0;int red = 0;byte[] buf = new byte[1024];while ((red = bis.read(buf)) != -1) { size += red;}long endTime = System.currentTimeMillis();Log.d("ERROR CHECK", startTime + " " + endTime + " " + size);double rate = (((size / 1024) / ((endTime - startTime) / 1000)) * 8); // THIS IS WHERE MY PROBLEM IS - A ZERO // SOMEWHERE.Log.d("ERROR CHECK", "No Zeros....");rate = Math.round(rate * 100.0) / 100.0;String ratevalue;if (rate > 1000) ratevalue = String.valueOf(rate / 1024).concat(" Mbps");else ratevalue = String.valueOf(rate).concat(" Kbps");if (is != null) { is.close();}if (bis != null) { bis.close();}Log.d("download", "download speed = " + ratevalue);我用注释指出的行是问题所在。该行中的所有值都已填充,我在它之前签入了 Log.d 行。
添加回答
举报
0/150
提交
取消