- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个项目,客户端应用程序(可能在 Android 设备上)将从服务器请求一些文件。一种实现是从服务器到设备进行突发传输,其中 X 文件与指向下一个 block 的链接/指针一起发送。另一种实现是发送文件 ID 列表,然后为每个 ID 发出一个 http 请求并单独获取文件。我听说这真的会损害电池生命周期。是真的吗?
另一个问题是带宽,客户端可能不希望/不需要一次性发送所有文件,因此服务器有点强制客户端一起接受它们。在个人提交中,客户可以在他想要的时候拿到文件。
对电池生命周期的影响是否如此之大以至于超越带宽是一个有效的选择?或者有其他选择吗?
最佳答案
I've heard this really hurts the battery life. Is that true?
不一定。在大多数 Android 设备上,HttpClient
和 HttpUrlConnection
都可以支持 Keep-Alive
,因此如果您的 HTTP 服务器设置正确,并且您使相当快速连续的请求,我预计不会有重大差异。
In the individual submission, the client can get the files when he wants if he wants them.
如果您的意思是他们可能会在相当长的一段时间内请求它们,这将无法利用 Keep-Alive
。但是,您可能会整体请求更少的文件并消耗更少的带宽。不可能抽象地告诉你哪个对电池消耗更好。
Is the effect on battery life so great that it would be a valid option to overstep on bandwidth?
这取决于您的下载量、下载频率等。
但是,恕我直言,您关注的是错误的问题。
如果您消耗的带宽太多以至于担心电池生命周期,您的用户就会用干草叉和镐攻击您,因为他们在计量数据计划上花费了太多钱。
因此,我会使用 TrafficStats
并尝试各种场景,看看您实际使用了多少带宽,因此您是否需要找到总体上消耗更少带宽的方法(例如,降低轮询频率) ),因此用户不会因您的应用而破产。我怀疑您对电池的担忧会作为副作用自行解决。
但是,如果在您的测试中,您发现您的应用出现在“设置”中的“电池故障屏幕”上,然后开始担心电池消耗,无论是来自带宽还是其他来源(例如,过度使用 WakeLocks
)。
关于java - http请求对电池生命周期的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8772478/
我正在开发一个使用多个 turtle 的滚动游戏。玩家 turtle 根据按键命令在 Y 轴上移动。当危害和好处在 X 轴上移动时,然后循环并改变 Y 轴位置。我尝试定义一个名为 colliding(
我不明白为什么他们不接受这个作为解决方案,他们说这是一个错误的答案:- #include int main(void) { int val=0; printf("Input:- \n
我正在使用基于表单的身份验证。 我有一个注销链接,如下所示: 以及对应的注销方法: public String logout() { FacesContext.getCurren
在 IIS7 应用程序池中有一个设置 Idle-time out 默认是 20 分钟,其中说: Amount of time(in minutes) a worker process will rem
我是一名优秀的程序员,十分优秀!