• android 知识收集


    1。无论是 Activity、BroadcastReceiver还是Service,只要是有长时间处理的任务,就需要重新开一个线程来处理,为什么会这样?

    因为他们都是运行在主线程中的。

    2。在使用BroadcastReceiver时,有一个我们需要注意的问题:

    在BroadcastReceiver的onReceive(Context context , Intent intent )这个context是Activity还是Application?

    如果你的BroadcastReceiver是通过在Activity中的registerReceiver(Broadcaster, filter)来注册的话,那么这个context就是这个Activity,

    而如果是通过AndroidManifest来注册的话,那么这个context就是:android.app.ReceiverRestrictedContext。

    3.AlarmManager对象配合PendingIntent使用,可以定时打开一个Activity,发送一个BroadCast或者开启一个Service。

    4.AlarmManager 启动 BroadcastReceiver  ,BroadcastReceiver 再启动 Server

      The Alarm Manager holds a CPU wake lock as long as the alarm receiver's onReceive() method is executing. This guarantees that

    the phone will not sleep until you have finished handling the broadcast. Once onReceive() returns, the Alarm Manager releases this

    wake lock.

      This means that the phone will in some cases sleep as soon as your onReceive() method completes. If your alarm receiver

    called Context.startService(), it is possible that the phone will sleep before the requested service is launched.

      To prevent this, your  BroadcastReceiver and Service will need to implement a separate wake lock policy to ensure that the phone

    continues running until the service becomes available.

    5.使用BroadcastReceiver实现开机启动Service或Activity

    注册一个BroadcastReceiver用来监听手机开机Intent, 而该BroadcastReceiver又负责启动你的service或者activity. 

    6.连接本地web服务器 

      10.0.2.2

  • 相关阅读:
    深入理解ThreadLocal
    JAVA守护线程
    JAVA THREAD.JOIN方法详解
    JAVA中断机制详解
    Socket中的异常和参数设置
    WebSocket实战
    程序里面的system.out.println()输出到其他位置,不输出到tomcat控制台。
    数据库连接未关闭,conn与rs未关闭
    Ajax简单应用-购物车
    1.链表和数组的区别在哪里?
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3514067.html
Copyright © 2020-2023  润新知