drizzle
V2EX  ›  Android

撸了一个知乎 Android 端的个人主页实现

  •  1
     
  •   drizzle · Apr 4, 2017 · 14308 views
    This topic created in 3343 days ago, the information mentioned may be changed or developed.

    是这样的,前一段用了几个月女朋友的 iPhone ,再之前是 Nexus6 ,当时用知乎的时候就觉得个人主页在头部可见,左右滑动的时候卡卡的。前几天入了黑色的一加 3T ,没想到还是卡卡的,看了一眼 GPU 呈现模式分析吓尿了,猜测了一下目前的实现,感觉是 View 本身的问题,于是趁放假撸了一个,差不多克隆了整个页面的所有交互。

    知乎的 GPU 条形图:

    我的实现:

    不知道能不能给知乎的 Android Repo 提个 pr (手动斜眼)

    代码在: https://github.com/Drizzlezhang/ZhihuUserProfile

    10 replies    2017-04-12 13:21:21 +08:00
    dtfm
        1
    dtfm  
       Apr 4, 2017 via Android
    乘着没知乎的人回答,我猜测一下,知乎啦多想原因应该跟许多大厂应用一样,卡顿原因来自显式的功能之外,比如用户统计所需要的埋点。
    drizzle
        2
    drizzle  
    OP
       Apr 4, 2017 via Android
    @dtfm 我也想过是不是埋点,不过这里的绘制问题可以肯定不是这个原因,只是左右滑动而已,没那么多状态需要记录。
    Jaspr
        3
    Jaspr  
       Apr 4, 2017 via Android
    私以为卡顿的点在于头像背景,知乎的头像背景应该不是仅仅一个 imageview 那么简单
    drizzle
        4
    drizzle  
    OP
       Apr 4, 2017 via Android
    @Jaspr 这个有可能。不过我觉得这种图片理论上是服务端给,客户端应该不承担这部分实现。也不知道有没有知乎的知情人士😂
    feeeeeef
        5
    feeeeeef  
       Apr 5, 2017
    常规的优化,我感觉知乎这种大厂的程序员应该不会不知道
    drizzle
        6
    drizzle  
    OP
       Apr 5, 2017
    @feeeeeef 页面确实不算特别复杂的页面,不过实现起来还是有点意思的,目前的实现确实有可能卡顿的。
    jinhan13789991
        7
    jinhan13789991  
       Apr 5, 2017
    你暴漏了女朋友的知乎 ID
    drizzle
        8
    drizzle  
    OP
       Apr 5, 2017
    @jinhan13789991 为了避免暴露知乎 ID 才放的这张,这是 vue 的作者···
    codehz
        9
    codehz  
       Apr 11, 2017
    知乎这个确实是蜜汁卡顿,不过我 i 这里测试全部都是刚好 60fps 出头,虽然还是一片标红——估计是有谁限制了 fps
    drizzle
        10
    drizzle  
    OP
       Apr 12, 2017
    @codehz 同学有时间可以试试我的实现😂
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1210 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 17:30 · PVG 01:30 · LAX 10:30 · JFK 13:30
    ♥ Do have faith in what you're doing.