240 发简信
IP属地:青海
  • 其实没有丢掉CallbackRecord
    for (c c = callbacks; c != null; c = c.next) {
    if (DEBUG_FRAMES) {
    Log.d(TAG, "RunCallback: type=" + callbackType
    + ", action=" + c.action + ", token=" + c.token
    + ", latencyMillis=" + (SystemClock.uptimeMillis() - c.dueTime));
    }
    c.run(frameTimeNanos);
    }
    最终我们看到画面像卡顿像丢帧一样,是因为frameTimeNanos。

    Android Choreographer 源码分析

    Android系统从4.1(API 16)开始加入Choreographer这个类来控制同步处理输入(Input)、动画(Animation)、绘制(Draw)三个UI操作。...

  • 如果默认是先显示最后面的,然后再往回滑动,动画还会显示吗?我觉得不会,如果想知道哪个item已经执行过动画的话,可以在内部重新组装一下数据。

    BaseRecyclerAdapter之添加动画(策略模式)

    上篇「RecyclerView.Adapter优化了吗?」主要讲了RecyclerView.Adapter的优化代码以及添加了item的click方法具体实现原理,这篇在原来...

  • 建议用ACRA吧,开源的。

    Android 程序崩溃日志邮件获取

    版权声明:本文为博主原创文章,未经博主允许不得转载。 在我们开发Android应用程序的时候,BUG的出现是难以避免的,时不时还会出现崩溃的情况,这个时候,我们急需知道造成问...

  • 120
    经典Builder/变种Builder模式及自动化生成代码插件

    Builder模式是一种广泛使用的设计模式。 将一个复杂对象的构建与它的表示分立,这样在调用相同构建的过程中可以创建不同的表示 Builder模式分二种,一种是经典的Buil...

  • GRADLE构建最佳实践

    随着谷歌对Eclipse的无情抛弃和对Android Studio的日趋完善,使用gradle构建Android项目已经成为开发者的一项必会良技。那么,问题来了,采用什么样的...

  • 不懂为什么要通过反射去实例化

    谈谈Java接口与实现的分离以及隐藏实现

    一. what ?对于一个框架来说, 用户只需要知道这个框架的关键组件和接口就行了, 不要对外公布太多的细节. 因为用户看到的东西太多反而导致了迷惑. 对于用户来说, 只要调...

  • 120
    探索日期滚轮控件的源码

    欢迎Follow我的GitHub, 关注我的简书, 博客目录. 本文的合集已经编著成书,高级Android开发强化实战,欢迎各位读友的建议和指导。在京东即可购买:https:...