美文网首页
Android中解决同步问题的一些方法

Android中解决同步问题的一些方法

作者: 二十三岁的梦 | 来源:发表于2020-06-02 09:59 被阅读0次

    synchronized

    synchronized修饰静态方法的时候,会持有整个Class类的锁;修饰普通方法的时候,会持有某一个对象的锁。

    wait(),notify()

    Lock

    CountDownLatch

    Handler

    接口回调配合runOnUiThread

    AsyncTask

    1.AsyncTask在使用过程中可能会出现崩溃的问题(它不能根据Activity的生命周期自动取消任务)
    调用cancel()方法可能不会取消任务,如果doInBackgroud中存在类似BitmapFactory.decodeStream()这种不可中断的操作则无法被取消
    2.AsyncTask如果是被创建为Activity的内部类, 那么可能会出现内存泄漏,原因是Activity被销毁时,如果AsyncTask中的任务没有结束,那么它会继续持有Activity的引用,造成内存无法正常回收即内存泄漏
    3.当旋转屏幕,或者因为被回收而造成Activity重新创建的时候,之前创建的AsyncTask对象持有的Activity对象引用是已失效的旧的引用,任务执行完毕之后无法对新创建的Activity执行操作

    RxJava2

    EventBus

    相关文章

      网友评论

          本文标题:Android中解决同步问题的一些方法

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