我有一个UI小部件,我需要将地址映射到相应的联系人姓名并以给定的格式显示它们。 我使用AsyncTask执行查询以查找doInbackground()中的地址并在onPostExecute()中的小部件上显示名称格式。 这对地址有限制时正常工作。 但是,当要映射的地址数量增加到150时,我得到RejectedExecutionException。 据我所知,这是因为maxPoolsize为128,AsyncTask的队列被限制为10。 我试图让队列无界限......但在小部件上添加名称变得非常缓慢。这是因为无限队列maxPoolSize被忽略,并且一次只能有corePoolSize线程,即5.Android的替代AsyncTask
所以,我想知道是否有任何其他方法可以用于此用例的AsyncTask? ? 克隆AsyncTask &增加核心/最大池大小似乎不是好行为,因为这意味着许多并发线程(无效的资源使用)调度开销&。 地址目前没有限制,因此它可以轻松地超过500. 我应该如何处理这种情况?
这将意味着直到80个地址没有被解析,即查询,UI上将不会有更新....如何在这种情况下使用服务? – deeps