drizzle
V2EX  ›  Android

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

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