Closed catsout closed 1 year ago
我对图片加载做了简单封装,对 git 玩的不是太明白,最后手动强制合并了分支😅
你这还不如不封装,只是把代码挪了下位置,而且挪得相当难看和麻烦。 我有些看不下去。
建议回退,哪怕不用 paintable ,就原来那样好了。
我不想用 paintable 主要是因为觉得为了加载个图片而另外多出两个文件不值得。而且整个加载逻辑过于复杂,可能我比较水看了好久也没明白 paintable 里边的下载触发逻辑。我做的封装其实只是想模仿你的用法,移动下代码,我也觉得没啥意义😂
多出两个文件不值得
就 gtk,这个应用用的ui库,https://gitlab.gnome.org/GNOME/gtk/-/tree/main/gtk
这文件多的可能会把浏览器卡死。
整个加载逻辑过于复杂
先不说是不是真复杂,github 不是有 review 功能吗,哪里有问题,对着代码加 review 就行了。
好久也没明白 paintable 里边的下载触发逻辑
维护了一个对应 id 的 gobject (NcmTexture)的 hashmap,对应 id 的 NcmPaintable 通过 connect 信号拿到加载完的 gdktexture.
NcmTexture 只保留 gdktexture 的 weakref,监听 gdktexture 的 dispose 来清理 hashmap.
这已经是简单的写法了,还可以让 NcmTexture 拥有 gdktexture,来写一些复杂的缓存机制.
need https://github.com/gmg137/netease-cloud-music-api/pull/10