我正在使用报警管理器中的intentservice每隔15秒触发一次。
我必须不断地向服务器发送大量数据,并在后台接收大量数据。
我必须遵循以下流程:
我正在通过查询从数据库中读取数据。
然后通过pojo架构将其转换为json。
使用改装库将请求中的此json发送到服务器。
接收响应数据。
如果数据库中有任何更新,则通过某些查询将此数据插入到我的数据库中。
有其他方法吗?当我面对安乐时。
如果数据少,它就可以正常工作。但是,随着数据量的增大,ui停止,应用程序变得无响应。

最佳答案

经过一番挣扎,我终于找到了解决办法:
我只是使用单独的流程为意图服务工作。
在“清单”文件中使用

 <service android:name=".BackgroundSyncDataService"
        android:process=":my_process">
  </service>

说明:
名称前面的冒号前缀告诉android该服务是其声明应用程序的私有。如果不使用冒号,则该服务将是一个全局进程,可供其他Android应用程序使用。
在自己的进程中运行服务会给它自己的内存地址空间,而在此进程中虚拟机的垃圾收集器不会影响应用程序进程。
如果服务在其主线程中执行长时间运行的操作,则在其自己的进程中运行服务不会阻塞应用程序。

08-18 11:03
查看更多