• syz
    2019-05-21
    美团关于Litho的一篇文章,推给大家做参考。作为小白觉得看的清晰https://tech.meituan.com/2019/03/14/litho-use-and-principle-analysis.html
    
     5
  • 刘伟
    2019-03-01
    老师你好,有个问题想要请教一下

    你在这篇文章里面提到了 异步创建

    我尝试在子线程调用了如下代码,没按照文中的说法替换子线程 Looper的MessageQueue

    View v = new View(MainActivity.this);
    v.invalidate();
    v.setLayoutParams(new ViewGroup.MarginLayoutParams(200, 200)); v.setBackgroundColor(Color.RED);

    然后在主线程中添加到LinearLayout !代码正常运行,界面也正常显示。
    查看源码之后,检查线程是在ViewRootImpl中做的,而这个方法会在view invalidate 以后调用,我在子线程中调用的时候,因为还没有添加到 LinearLayout 中,所以不会触发ViewRootImpl 中方法的调用。 (翻了一下 5.0 和 8.0 的源码)

    那么你在文章中提到的 替换子线程的消息队列作用是什么呢?

    分割线---------------

    但是上面不替换消息队列的情况对WebView 不起作用,子线程创建WebView的时候必须替换。
    替换成之后,WebView 可以正常创建的了

    然而在主线程中添加到布局容器时候还是提示在非UI线程操作了View. 不知道老师使用这种方法的时候有没有遇到类似的问题。

    再割-----------------

    关于这个问题在stackoverflow上也有个类似的提问~

    https://stackoverflow.com/questions/5284513/constructing-views-in-a-non-ui-thread-and-consuming-in-the-ui-thread





    展开

    作者回复: 如果不替换,是某一些情况会报错

     1
     3
  • Dimple
    2019-04-30
    存储优化、网络优化、耗电优化到现在的UI优化,深深的把我刺激到了。以前搞的Android都只是为了实现而实现,以后我一定要好好规划规划,把这些优化都用起来。
    
     1
  • Carlo
    2019-03-25
    用flutter痛苦啊。还不如开发native app。各种坑。就一个facebook integration就产生了很多bug。

    作者回复: 随着flutter框架的成熟和各大公司的配套实践方案,后面应该会好很多

    
     1
  • 瑞
    2019-02-07
    你好,目前应用碰到进入主界面卡顿黑屏现象比较严重,需要怎么定位问题吗,本人已根据排除法去定位相关代码,但是定位到结果存在概率性,需要怎么去定位到真正的问题呢?麻烦帮忙说下处理方案

    作者回复: 如果本地可以复现,利用卡顿优化中的traceview或者systrace定位是最高效的

    
     1
  • Jack
    2019-12-27
    View复用这一块 能分享一下怎么做到View的净身出户的吗?
    
    
  • 人海中一只羊
    2019-11-16
    关于UI异步创建会抛出异常的那部分,能否举个例子?
    
    
  • EdwdChen
    2019-09-09
    请教一下,文中提及 flutter 是使用 skia 来进行渲染的,但是前一篇文章提到 skia 是软件渲染,这是不是意味着 flutter 虽然方便但是 ui 渲染上性能还是没有原声组件好呢?
    
    
  • neo
    2019-07-08
    值得粗读完,精细学习一阵子的高手课。
    
    
  • ForzaJuve
    2019-03-19
    涨见识,开眼界
    
    
  • 刘伟
    2019-02-19
    开拓眼界~每一个点深入都是一个大领域

    作者回复: 对的,由于边幅有限,大家都需要结合课后资料进一步学习

    
    
  • 哈珀朋友
    2019-02-07
    老哥RenderScript说得太简单了,原本以为会针对后端编译器LLVM做分析呢

    作者回复: 主要受边幅限制,这块大家在课后可以扩展阅读即可

    
    
我们在线,来聊聊吧