如果当前没有互联网连接,我当前正在将交易存储在SqLite DB中,并且当有互联网可用时,我将使用新交易发送待处理的交易,因此它包含大量数据和大量API击打会阻塞设备,导致设备无响应。因此,需要以正确方式将这些事务同步到服务器的帮助。这些也将被发送到套接字以及服务器。
我尝试使用AsyncTask,但如果事务量超过200,也会引起问题。尝试进行翻新,并且在某种程度上,计数从200增长到了近350,但是问题和不响应仍然存在。
答案 0 :(得分:1)
您应该尝试使用JetPack的PriorityJobScheduler lib或WorkManager。 当没有网络连接时,您可以将那些请求排队,然后将那些请求发送给那些网络连接可用。 (因此,您不必等到有人进行新交易也可以发送旧的排队数据)
此外,在当前情况下,不是让每个事务发送单个请求,而是让您的API Guy接受对象列表格式的请求。因此,您只需要创建请求主体对象列表并发送到服务器