• 多谢提醒,不好意思啊,写这个的时候老眼昏花了,犯了低级错误

    Kotlin-33.异常(Exception)

    官方文档: http://kotlinlang.org/docs/reference/exceptions.html 1.异常类(Exception Classes) 2.没...

  • 修改很简单啊,打开apksigner.bat 文件,把 -Djava.ext.dirs 替换成 --class-path 就可以了。
    提醒一下,JDK10不要修改,修改成--class-path反而会出错无法识别

    Java-JDK9-Djava.ext.dirs is not supported

    1.JDK9出现的问题 2.解决方法 刚开始出现问题时,因为畏惧这种系统问题而粗暴滚回JDK8,还好后来强迫症犯了,误打误撞终于找到原因..."提出问题比解决问题更重要",我...

  • Android-USB-OTG-读写U盘文件

    参考:https://developer.android.com/guide/topics/connectivity/usb/host.htmlhttps://blog.cs...

  • 漏了重要点,service需要在单独进程,不然会被杀死
    <service
    android:process=":restart"
    android:name=".killSelfService" />

    android比较便捷的重启APP的方法

    前言: 开发过程中,有项需求需要重启APP,谷歌之后都是清一色的代码,可惜自己试了之后真心没用,只能自己想办法了。(PS:百度就算了,对于程序员来说,百度简直就是“玩具...

  • Android-低功耗蓝牙(BLE)-客户端(主机/中心设备)和服务端(从机/外围设备)

    参考:https://developer.android.com/guide/topics/connectivity/bluetooth-lehttp://a1anwang....

  • 报什么错?记得添加权限,开线程读取logcat

    Android-9种通话状态(精确)

    参考文章:http://blog.csdn.net/yaoming168/article/details/51986751http://blog.csdn.net/a3414...

  • 120
    Android-经典蓝牙(BT)-建立长连接传输短消息和文件

    参考:https://developer.android.com/guide/topics/connectivity/bluetoothhttp://bbs.eeworld....

  • Android-Accessibility(辅助功能/无障碍,自动安装APP)

    参考:http://www.infoq.com/cn/articles/android-accessibility-installinghttps://developer.a...

  • Android-WakeLock(唤醒锁与CPU休眠/屏幕常亮)

    参考:https://blog.csdn.net/wh_19910525/article/details/8287202http://landerlyoung.github....

  • Android-ContentResolver取巧执行原生SQL语句(rawQuery/execSQL)

    一.困境 二.取巧方法 简书: https://www.jianshu.com/p/a92efa1c52b7CSDN: https://blog.csdn.net/qq_32...

  • @十个雨点 谢谢, 我大概明白了,
    wasEmpty=false表示有线程正在写文件,就会把当前run放入QueuedWork队列等待,QueuedWork是个单线程轮循队列 执行run任务,然后commit线程利用同步计数器等待 获取返回值。
    wasEmpty=true表示没有线程在写文件,直接在commit线程执行run。

    这里应该是为了解决多线程写文件问题,把多个线程写任务放入一个队列中,由QueuedWork线程读取队列按顺序执行,这样做apply线程就不会阻塞了

    我的理解对吗

    通过ContentProvider多进程共享SharedPreferences数据

    转载注明出处:简书-十个雨点 开发一个多进程应用的时候,我们往往无法避免在多个进程之间共享数据。多进程共享数据的方法有很多种,在Android中常用的有:SharedPref...

  • @whr4726 我很高兴对你有用,你是要做什么功能

    Android-9种通话状态(精确)

    参考文章:http://blog.csdn.net/yaoming168/article/details/51986751http://blog.csdn.net/a3414...

  • @十个雨点 刚看了源码, commit在当前线程执行,没有new 线程 // Typical #commit() path with fewer allocations, doing a write on the current thread.

    private void enqueueDiskWrite(final MemoryCommitResult mcr,final Runnable postWriteRunnable) {
    .......
    // Typical #commit() path with fewer allocations, doing a write on
    // the current thread.
    if (isFromSyncCommit) {
    boolean wasEmpty = false;
    synchronized (mLock) {
    wasEmpty = mDiskWritesInFlight == 1;
    }
    if (wasEmpty) {
    writeToDiskRunnable.run();
    return;
    }
    }
    ........
    }

    通过ContentProvider多进程共享SharedPreferences数据

    转载注明出处:简书-十个雨点 开发一个多进程应用的时候,我们往往无法避免在多个进程之间共享数据。多进程共享数据的方法有很多种,在Android中常用的有:SharedPref...

  • @十个雨点 谢谢解答,不过我还是感到困惑,假如我们在主线程调用commit,commit内部new单独线程,那commit返回值怎么能传到主线程?按你的解释,应该要handle回调通知主线程

    通过ContentProvider多进程共享SharedPreferences数据

    转载注明出处:简书-十个雨点 开发一个多进程应用的时候,我们往往无法避免在多个进程之间共享数据。多进程共享数据的方法有很多种,在Android中常用的有:SharedPref...

  • Editor的commit应该是在主线程写入文件,返回boolean表明是否成功写入文件。
    Editor的apply才是在子线程中异步写入,没有返回值

    通过ContentProvider多进程共享SharedPreferences数据

    转载注明出处:简书-十个雨点 开发一个多进程应用的时候,我们往往无法避免在多个进程之间共享数据。多进程共享数据的方法有很多种,在Android中常用的有:SharedPref...

个人介绍
主要是记录一些学习笔记,存档方便查阅,若有错误,欢迎指出,相互学习......

CSDN博客: http://blog.csdn.net/qq_32115439
GitHub博客: http://lioil.win
Coding博客: http://c.lioil.win

邮箱: lioilwin@qq.com