Android/Java/移动端-刷题系列-3-Service服

作者: MonkeyLei | 来源:发表于2020-02-15 20:22 被阅读0次

    目录:

    A. Java基础相关-1-字符串、类、泛型、==、equals等

    B. 注解、自定义注解、反射简单复习

    C.MonkeyLei:Android/Java/移动端-刷题系列-3-Service服务中启动界面?NEW_TASK?

    我是看面试题看到进程和线程的区别那块,然后就联想到android,联想到android:process,Service,Activity这些。。。

    一个Android应用程序启动后就会有一个独立进程活着,然后依附这个进程(UI线程做了一系列渲染,搞出了我们的界面)。 我们可以开启多线程来搞事情,搞完事情可以通过进程间通信方式来通知UI线程进行渲染。 这又会蹦出一系列知识,handler,binder,aidl等等。。。

    而针对Service,我们启动了一个纯粹的Service,并不是说这个Service就会有一个独立的进程运行。不是这样的,而是这个Service会依附这个进程活着。

    情况1: 不指定process属性

    如果服务启动了,然后我们杀死了主程序,则服务也会随之结束

    情况2: 指定了process属性,这个服务就能够独立活着,进程就会存在。当然目前的手机系统并不能轻松的做保活了,不要想靠以往的方式做稳定性保活。。如果你是xx信,或许就可以给你白名单...

    如果当然服务里面是可以启动跳转界面的,必须有Intent.FLAG_ACTIVITY_NEW_TASK属性

       @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            // Let it continue running until it is stopped.
            Toast.makeText(this, "服务已经启动", Toast.LENGTH_LONG).show();
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    Intent intent1 = new Intent(PpService.this, SecondActivity.class);
                    intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent1);
                }
            }, 3000);
            return START_STICKY;
        }
    

    也可以弹窗。但是只能是系统提供的,自定义的不得行。而且目前需要权限的。Android 如何在Service中弹出对话框

    CSDN-专业IT技术社区-登录

    这个后面会跟源码深入复习。。 这里目前先简单实践下。

    另外包括NEW_TASK属性这些都要专门看看。

    记录一把。。开篇一下。。。打印的80多页面试题,尽快过一遍。。。挑一些点来搞搞。让自己有点印象,然后屡屡思路和大纲。。菜的很, 勿喷....谢谢。。我只想多看点是一点。。。

    之前服务的相关学习:

    MonkeyLei:Android-Service学习鸭-入门实践-本地服务(bindService方式)

    MonkeyLei:Android-Service学习鸭-入门实践-远程服务(bindService方式-AIDL)

    相关文章

      网友评论

        本文标题:Android/Java/移动端-刷题系列-3-Service服

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