这是我正在使用的代码。
http://pastebin.com/3bMCKURu
问题在于随着文件大小的增加,通知栏拉下来的速度会变慢,最终会冻结!
您的通知太频繁了,这就是为什么它会冻结。请将它们更新为更大的间隔时间。"好"是每秒或每2秒更新一次。
private static int mPercentDownloaded;
@Override
protected Void doInBackground(String... params) {
...
mPercentDownloaded = (int) ((total * 100) / lenghtOfFile);
long currentDownloadTicks = System.currentTimeMillis();
if (currentDownloadTicks > mDownloadTicks + 1000) {
publishProgress(mPercentDownloaded);
mDownloadTicks = currentDownloadTicks;
}
...
}