Android动态壁纸:如何在加载新设置时提供反馈?

发布于 2024-12-10 09:14:22 字数 146 浏览 1 评论 0原文

我创建了一个相对占用内存的动态壁纸。您可以在多个主题之间进行选择。

当选择新主题时,必要的位图将被存储到内存中。在此过程中,应用程序不接受用户的输入。

在这个缓存过程中是否有可能给用户一个反馈?也许是进度条或沙漏?

问候, 罗伯特

I created a live wallpaper which is relatively memory-intensive. You can choose between multiple themes.

When a new theme is chosen, the nescessary bitmaps are being stored to the memory. During this process the application just takes no input from the user.

Is there any possibility to give the user a feedback during this cache process? Maybe a progress bar or a hourglass?

Greetings,
Robert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

勿挽旧人 2024-12-17 09:14:22

我建议您使用 Asynctask ,它有 onProgressUpdate 函数如本例所示:

 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));
         }
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }

I recomend you to use an Asynctask for that , it has the onProgressUpdate function like in this example:

 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));
         }
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文