zoukankan      html  css  js  c++  java
  • Android 基础题目

    1. BroadcastReceiver 在UI thread?

        BroadcastReceiver 总是在UI thread,

      If you register your BroadcastReceiver using a valid Handler running on a different thread:

      For example:

    HandlerThread handlerThread = new HandlerThread("ht");
    handlerThread.start();
    Looper looper = handlerThread.getLooper();
    Handler handler = new Handler(looper);
    context.registerReceiver(receiver, filter, null, handler); // Will not run on main thread
    

    参考

    2. 为什么要使用IntentServie

    IntentService是Service的子类,比普通的Service增加了额外的功能。先看Service本身存在两个问题  

    • Service不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中  

    • Service也不是专门一条新线程,因此不应该在Service中直接处理耗时的任务   

    IntentService特征 

    • 会创建独立的worker线程来处理所有的Intent请求  

    • 会创建独立的worker线程来处理onHandleIntent()方法实现的代码,无需处理多线程问题  

    • 所有请求处理完成后,IntentService会自动停止,无需调用stopSelf()方法停止Service  

    • 为Service的onBind()提供默认实现,返回null  

    • 为Service的onStartCommand提供默认实现,将请求Intent添加到队列中

  • 相关阅读:
    查看虚拟机里的Centos7的IP
    display:none visibility:hidden opacity:0区别
    UVA
    Gym
    Gym
    UVALive
    面试题1
    vuex的5个属性值
    vue中的.sync语法糖
    绝对定位实现垂直居中的优缺点
  • 原文地址:https://www.cnblogs.com/linlf03/p/6429338.html
Copyright © 2011-2022 走看看