android中每秒的Http请求
Posted
技术标签:
【中文标题】android中每秒的Http请求【英文标题】:Http request for every seconds in android 【发布时间】:2022-01-08 00:45:16 【问题描述】:我需要每秒钟发布一个 http 请求(实际上是 500 毫秒),另一方面,我必须每秒钟从 ble 接收数据,我尝试过倒数计时器、服务、JobIntentService,bt 所有这些都结束了OutOfMemory 异常。我不能使用 workManager 因为 WM 的最小间隔是 15 分钟。 有什么建议或指导吗?
java.lang.OutOfMemoryError: Could not allocate JNI Env at java.lang.Thread.nativeCreate(Native Method) at java.lang.Thread.start(Thread.java:730) at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:941) at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1009) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1151) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761)
【问题讨论】:
请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:Timer timer = new Timer();
timer.schedule(new TimerTask()
@Override
public void run()
// call request method
, REQUEST_PERIOD_AS_MILISECONDS);
// You need to cancel it when you are done with it as following:
if (timer != null)
timer.cancel();
timer = null;
【讨论】:
它只触发一次。我应该每秒钟开始一次吗? 将“REQUEST_PERIOD_AS_MILISECONDS”替换为定期运行的时间间隔。例如:在您的情况下为 500 毫秒。以上是关于android中每秒的Http请求的主要内容,如果未能解决你的问题,请参考以下文章
每秒处理3百万请求的Web集群搭建-如何生成每秒百万级别的 HTTP 请求?
资深程序员用Python实现每秒处理 120 万次 HTTP 请求!什么概念