美文网首页
关于安卓重写广播接收者时的一次记录

关于安卓重写广播接收者时的一次记录

作者: motosheep | 来源:发表于2020-01-21 11:08 被阅读0次

    最近

    在安卓开发的时候,由于在广播类里面,不恰当的定义,导致了栈溢出的问题,因此记录以下

    首先,自定义广播接收者,需要继承BroadcastReceiver这个类,然后实现里面的onReceive方法,如下图:

    这个时候,需要注意的是,关于这个类里面,有关变量的定义问题。本次项目中,遇到的是Handler的定义,下面看以下具体的操作过程:

    MainActivity布局:

    MainActivity.java

    广播接收者:

    启动应用,观察log:

    可以看到,每次接收广播后,handler的内存地址都发生了改变,所以onReceive()方法,是会每次执行,都会创建一个对象的,实际使用中, 就要注意相关变量,是否应该修饰为static或者使用其他修饰,防止因某些变量增加过多,导致内存的频繁gc或者栈堆溢出。

    that's all

    相关文章

      网友评论

          本文标题:关于安卓重写广播接收者时的一次记录

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