Android-for-Python——Multi-Service-Example(多服务示例)

本文介绍了如何在Android平台上,使用Python的Kivy库创建一个多服务示例应用。该应用在后台运行多个服务,执行重复任务,并通过Buildozer进行打包。每个服务执行低效的素数生成任务,任务数量和服务数量可根据设备核心数调整。应用还尝试使用前台服务并实现服务的自动重启。实验结果显示,服务数量与任务性能之间存在平衡,过多的服务会导致性能下降。
摘要由CSDN通过智能技术生成

多服务示例

        在多个服务上安排任务。

        后台读取Android Service。

        启动服务,启动任务(重复?),然后停止服务。也许重复这个顺序。

        该方法中配置服务数量和任务数量build()。默认情况下,应用程序启动 6 个服务和 20 个任务。如果设备核心数少于 6,则默认服务数量将会减少。

        在此示例中,任务(在 中实现service.py)是以一种效率较低的方式生成有界伪随机素数。只是工作忙而已。任务完成后,应用程序会报告所用时间的标准化测量值。

        使用前台服务,这些可以用buildozer.spec. 该服务具有 AutoRestartService(True) 并且应用程序尝试连接到重新启动的服务。重新连接可能并非在所有情况下都可靠,在这种情况下,重新启动的服务将不可用。

        细粒度任务的性能取决于启动的服务数量。启动比设备拥有的核心数量更多的服务总是会适得其反。对于下图,示例已修改为始终生成相同的素数并报告延迟(以秒为单位)。UI 活动很少。

 

        显然,某处存在一些开销,因为需要添加 4 到 5 个核心,才能将 1 个核心上的任务所花费的时间减少一半。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静候光阴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值