240 发简信
IP属地:新疆
  • 120
    一篇文章搞懂Android组件化

    网上组件化的文章很多,我本人学习组建化的过程也借鉴了网上先辈们的文章。但大多数文章都从底层的细枝末节开始讲述,由下而上给人一种这门技术“博大精深”望而生畏的感觉。而我写这篇文...

  • 不觉得Kotlin协程能代替RxJava,Rx线程调度只是基础能力,不是他强大的地方,强大的地方还是官方提供的一整套操作符,

    kotlin - Coroutine 协程

    我是在深入学习 kotlin 时第一次看到协程,作为传统线程模型的进化版,虽说协程这个概念几十年前就有了,但是协程只是在近年才开始兴起,应用的语言有:go 、goLand、k...

  • 这个结论我在好多博客看到了,真尼玛是一个沙雕带崩一群,第一次看的时候我就纳闷他俩都是加载从dexPathList加载,从哪看出来的dex能加载?path不能加载?当时还搞不懂,暂时背下了,去面试还说了,现在想想就是胡说八道,操,在8.0之前唯一的区别也就是生不生成优化后的odex文件,8.0之后统一不在传递optimizedDirectory,我看的9.0的源码,另外新增了InMemoryClassLoader,可以实现从内存中的buffer中加载dex,其他都一样了,本质都是BaseDexClassLoader逻辑,寻找目录内的文件生成DexPathList,然后通过makeElements生成elements数组,findClass可以通过这个数组遍历加载出相关的class文件,实现类加载。

    optimizedDirectory this parameter is deprecated and has no effect since API level 26.

    这是在源码里找到的注释,这玩意在8.0彻底没意义了,根本不会用的

    狗托误我

    DexClassLoader和PathClassLoader的区别

    先说结论 1、DexClassLoader可以加载jar/apk/dex,可以从SD卡中加载未安装的apk2、PathClassLoader只能加载系统中已经安装过的apk ...

  • 测试怎么搞呢,为什么不提取一个专门的Config文件用来配置不同环境下的变量值呢,这样就可以实现运行时切换环境了,测试必备,你现在这个依然是编译时固定,

    flutter 配置不同的开发环境(qa/dev/prod)

    在移动开发工作中,我们为一个项目至少需要配置两个独立的开发环境:“development开发环境”和“生产环境production ”。这样方便我们在开发环境里自由地开发和测...

  • 应该说google也想治理下包混乱的问题,但是也没有什么太完美的办法,在观望观望,三方库支持不行啊现在,clone就太伤了

    Android:你好,androidX!再见,android.support

    190822 补充:升级 gradle 到 3.4.2 之后,禁止项目默认启用 androidx190817 补充:补充 Glide 兼容 androidx 注解的内容190...

  • 直接用BottomSheetDialogFragment然后flag设置全屏就可以了

    BottomSheetDialog沉浸式的一些坑

    这几天开发项目用到了BottomSheetDialog,然而这玩意并不完美,至少沉浸式是压根没做的,在我们的APP上使用的是自家的BaseActivity来进行沉浸式效果(不...

  • 结合lamata后是这样的,

    Observable.interval(1, TimeUnit.SECONDS)
    .observeOn(AndroidSchedulers.mainThread())
    .subscribeOn(Schedulers.io())
    .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
    .take(60)
    .map(aLong -> 59 - aLong)
    .doOnSubscribe(disposable -> mRootView.enableCountDownText(false))
    .doOnComplete(() -> mRootView.enableCountDownText(true))
    .subscribe(aLong -> mRootView.showCountdown(aLong));

    Rxjava操作符飙车系列(三)验证码倒计时

    现在很多软件都需要获取短信验证码,通常都是60秒在向服务器发送一次请求。那么如果用Rxjava来实现这个倒计时的功能呢? 用到的操作符如下: 1.interval: 创建一个...

  • 120
    我一行代码都不写实现Toolbar!你却还在封装BaseActivity?

    原文地址: http://www.jianshu.com/p/75a5c24174b2qq群:301733278 前言 距离 上篇文章 的发表时间已经过去两个多月了,这两个月...

  • 这个和Circular Reveal Animation差不多?

    教你打造Android揭面水波动画库-AnimationHelper

    好多天没出干货了,今晚写这篇文章花了几小时,大家喜欢的可以GitHub走一波star AnimationHelper 这是一个动画帮助工具库, 提供简单的帮助实现以下效果的工...

  • 所谓无序即单次分发发生的时间不稳定,就像年底三个烟花筒同时点燃放烟花一样,没有为啥,非要解释就是CPU资源抢占问题了,谁的计算先结束,先进入准备状态谁就先发出,但CPU的很多时候资源分配都是一定控制范围内随机的

    给初学者的RxJava2.0教程(三)

    Outline [TOC] 前言 上一节讲解了线程调度, 并且举了两个实际中的例子, 其中有一个登录的例子, 不知大家有没有想过这么一个问题, 如果是一个新用户, 必须先注册...

  • 二和一写法上还是有不少区别的,但总体上名称设计的更加易懂了,比如不完整事件之前交Action,现在是Consumer,感受下那个更符合订阅者的概念

    给初学者的RxJava2.0教程(一)

    Outline [TOC] 前言 上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过...

  • 你这是篡改7.0系统对文件的权限控制吧,没看到官方有推荐这么干

    android 7.0拍照问题file:///storage/emulated/0/photo.jpeg exposed beyond app through ClipData.Item.getUri()

    请注明出处http://blog.csdn.net/qq_23179075/article/details/70314473 Android7.0调用相机时出现新的错误: a...

  • A抄B,B抄C,有劲?

    android 7.0 + 相机拍照 FileUriExposedException

    这个异常只会在android 7.0 + 出现,当app使用file:// url 共享给其他app时, 会抛出这个异常。 因为在android 6.0 + 权限需要 在运行...

  • android:layout_width="wrap_content"
    android:layout_height="wrap_content",想不居中都难,这不是乱扯么

    RadioButton图标居中

  • 120
    ExoPlayer 开发者指导

    原文地址[https://google.github.io/ExoPlayer/guide.html] 我的其他文章0.拼音查词开源库[https://github.com/...

  • 我觉得很多人都进入了一个误区,似乎工资低的企业往往能学到东西?

  • BottomDialogFragment,有这么一个原生的类,继承该类就可以了,感觉没必要自己new一个Dialog

    Android实现底部对话框BottomDialog

    最近项目上需要实现一个底部对话框,要实现这样的功能其实很简单,先看代码: 对话框的样式style: 在对话框中的按钮需要MD风格的波纹效果的话,对话框的style的paren...

  • 120
    Android水波纹特效的简单实现

    我的开源页面指示器框架 MagicIndicator[https://github.com/hackware1993/MagicIndicator],各位一定不要错过哦。 水...

  • 120
    Android主题换肤 无缝切换

    今天再给大家带来一篇干货。 Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。 这个链接是本次的Demo...

个人介绍
热衷于移动开发。。。