【发布时间】:2014-08-22 09:16:59
【问题描述】:
我的资产中有一堆小文件,需要在我的应用程序第一次启动时复制到 SD 卡中。我从here 获得的复制代码放在 IntentService 中就像一个魅力。但是,当我开始复制许多小文件时,整个应用程序变得异常缓慢(顺便说一句,我不太清楚为什么),这对于第一次启动的用户来说是一种非常糟糕的体验。
当我意识到当时其他应用程序运行正常时,我尝试为该服务启动一个子进程,但没有成功,因为据我所知,我无法从另一个进程访问我的资产。有人知道怎么做吗
a) 在不阻止我的应用的情况下复制文件
b) 从私有进程(Manifest 中的 process=":myOtherProcess")访问我的资产
或
c) 以完全不同的方式解决问题
编辑: 为了更清楚地说明这一点:复制已经发生在一个单独的线程中(由 IntentService 自动启动)。问题不在于将复制任务分开,而是在专用线程中的复制会以某种方式影响应用程序的其余部分(例如,阻塞许多特定于应用程序的资源?)而不是其他应用程序(因此它不会阻塞整个 CPU 或某些东西)
编辑2: 问题解决了,事实证明,没有真正的问题。请参阅下面的答案。
【问题讨论】:
-
使用 asynctask 复制哪个 nver 影响应用程序
标签: android performance file-io process assets