Android面试题-Service是否在main thread

作者: 小怪兽打葫芦娃 | 来源:发表于2017-05-20 15:11 被阅读1101次

Android程序员面试宝典

自定义控件

联网

工具

数据库

源码分析相关面试题

Activity相关面试题

Service相关面试题

与XMPP相关面试题

与性能优化相关面试题

与登录相关面试题

与开发相关面试题

与人事相关面试题

Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和操作(比如:网络请求,拷贝数据库,大文件),否则会引起ANR。

如果想在服务中执行耗时的任务。有以下解决方案:

1) 在service中开启一个子线程

new Thread(){}.start();

2) 可以使用IntentService异步管理服务
参考文章IntentService的使用:
http://blog.csdn.net/mwq384807683/article/details/72549222

Service 和 Activity 在同一个线程,对于同一 app 来说默认情况下是在同一个线程中的 main Thread (UI Thread)

  • 欢迎关注微信公众号,长期推荐技术文章和技术视频

  • 微信公众号名称:Android干货程序员

相关文章

  • Android面试题-Service是否在main thread

    Android程序员面试宝典 自定义控件 一分钟实现贴纸功能 一分钟实现TextView高亮 一分钟实现新手引导页...

  • Service

    Android的Service Service是在main Thread中执行,Service中不能执行耗时操作(...

  • Service

    1.Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?(★★) ...

  • Android Main thread

    PSVM: 在Android系统引导时,它启动了一个Linux进程,被称作ZygoteInit. 这个进程是一个D...

  • Android多线程之AsyncTask异步任务

    前言: 我们通常将android线程分为两种,一种叫做Main Thread,除了Main Thread之...

  • 2018-06-07

    1、Android中的四大组件及其作用 2、Service与Thread的区别 Service与Thread两个完...

  • 2018-06-11

    1、Android中的四大组件及其作用 2、Service与Thread的区别 Service与Thread两个完...

  • Android多线程之AsyncTask异步任务

    前言: 我们通常将android线程分为两种,一种叫做Main Thread,除了Main Thread之外的线程...

  • Android、Java面试题:Thread的start和run

    Android、Java面试题:Thread的start和run方法的区别 Thread类是继承Runnable的...

  • Service

    Android 面试题之Service startService intent = new Intent(Serv...

网友评论

    本文标题:Android面试题-Service是否在main thread

    本文链接:https://www.haomeiwen.com/subject/ijqpxxtx.html