然后,当我在更长的时间里将数据写入数据库时​​,我得到了此错误消息:


08-17 15:45:47.220:A / libc(10676):致命信号6(SIGABRT)位于0x000003b2(代码= 0),线程10676(mb.bat)


我已经发现,每当android认为时,就会出现ui被冻结,或者具体来说是什么东西阻塞了ui线程的情况。

但是,这是我想知道的:
编写和所有内容均由我自己的服务开始,该服务应在后台运行,独立于主线程。对?
要使用sqlitehelper,我需要通过从服务中获取的上下文,只需调用


getApplicationContext()


那有什么问题吗?

也:
致命信号后,服务将重新启动,尽管我不确定这是否可以由我自己的代码触发,但是我没有找到任何与此相关的信息。

最佳答案

android中的服务不会在单独的线程形式的UI线程中运行,就像它们在Main线程上运行的活动一样。您应该定义一个线程,然后运行它使您成为IntentService。但是请注意,一旦完成了intentservice作业,它将自行消失。

检查这些:
link 1
link2

08-26 07:27