android - 有没有办法限制服务分配的资源?

标签 android performance http low-bandwidth

我有一个应用有一项服务,可以将人们拍摄的照片卸载到服务器上。

具体来说,用户被发送到设备的 native 相机拍摄照片,然后照片通过 intent 返回到他们“批准”的应用程序。

这种批准行为将其保存到文件系统中,服务每隔 x 秒出现一次,通知等待卸载的文件并将其卸载。

一切正常。

但是...在连接不良但足以进行 HTTP 握手的情况下,应用程序会发现自己处于一种状态,即使服务中发生了卸载,但在用户返回 *返回到我的应用程序从照片拍摄(Android 正在将 4-8mb 照片返回给我的批准 Activity ,我的应用程序挂起 - 有时足够长以引发“你想杀死还是等待”提示。最终(如果你等待)它确实成功返回到应用程序。

我已经确认这与网络有关,因为当连接很强时(或者当应用程序处于飞行模式时 - 因此上传会立即失败)一切都非常顺利。 *唯一发生这种情况的情况是服务中的卸载程序受到连接问题的阻碍。

所以,我的问题是 - 我该怎么办?有什么方法可以隔离服务而不会对应用程序产生更大的影响吗?我的解决方案是编写一个位于设备上的合作伙伴应用程序,只是为了卸载文件(这甚至可以解决问题吗?)。

HERE是向用户提供 WAIT/KILL 提示时我得到的报告。我不确定该怎么做。

最佳答案

答案原来是服务实际上在主显示线程上运行(我被误导了,当你在服务中进行 HTTP 调用时,你不必手动在单独的线程中运行它) .

http://gmariotti.blogspot.com/2013/03/antipattern-freezing-ui-with-service.html

关于android - 有没有办法限制服务分配的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894077/

相关文章:

java - 登录后触发欢迎屏幕 2-3 秒

java - 在android中停止播放声音

android - Android 模拟器中 Unresolved 主机异常

mysql - 不搜索字段和进行 %""% 搜索之间的区别

php - Accept-Language header 中的奇怪语言代码

javascript - 使用 javascript 聚焦字段时显示 Android 软键盘

javascript - vue.js 2 中哪个更好,使用 v-if 还是 v-show?

python - 如何减少Python中比较多个字符串的处理成本?

sockets - 编写在 TCP 上运行的协议(protocol)

c# - 如何将 HttpRequestMessage 转发到另一台服务器