我怀疑,如果我们在中设置数据回收器视图中的数据之前执行计算,会不会出现低性能?
例如,Im接收作为服务器响应的数据列表,例如:
我必须从回收商的角度和百分比一起展示这一点,所以我在安卓端做了一个计算,在设置适配器之前将这些销售目标转换成百分比。因此,在设置第一个数据之前,我通过以下操作计算百分比:(10/50) *100,这给了我20%,等等,所有的列表数据。那么,这种计算是否降低了Android中的加载性能,或者如果我计算服务器端的百分比并获得响应本身中的百分比,这样我就可以简单地设置它,而无需计算,但它会影响响应时间吗?
所以我混淆了服务器响应时间和Android处理时间。
发布于 2018-11-25 11:45:35
百分比似乎不安全敏感,您可以在客户端计算它。如果要节省处理数据的时间,请尝试将一些数据填充到回收器视图的适配器,使其对用户可见,然后执行一些异步后台任务来计算数据并更新视图。
发布于 2018-11-25 13:55:18
您应该使用AsyncTask。它将在后台线程中执行任务,并相应地更新UI。下面是一个简单的例子:
private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
protected Long doInBackground(URL... urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
publishProgress((int) ((i / (float) count) * 100));
// Escape early if cancel() is called
if (isCancelled()) break;
}
return totalSize;
}
protected void onProgressUpdate(Integer... progress) {
setProgressPercent(progress[0]);
}
protected void onPostExecute(Long result) {
showDialog("Downloaded " + result + " bytes");
}
}运行AsyncTask
new DownloadFilesTask(). execute(param1, param2, param3);取消任务调用
cancel();https://stackoverflow.com/questions/53467044
复制相似问题