Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

几个小的改进的建议,希望能采纳 。

未关闭
#34 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
android, java

调研方向

首先跟踪 SkinAttrSupport.getSkinViews(Activity) 以及 issue 中描述的 skin 应用流程,包括 activity 注册和 onResume 处理。将当前的完整 activity 扫描和刷新时机与提议的延迟方案进行比较。完成的标准是实现一项已达成共识的性能改进,并验证其在多个 activity 中的行为。

由索引模型根据 Issue 内容生成。

描述

1 actionbar如何换肤
我看其中的代码,是从activity里面content中开始遍历,而不是rootview开始

 public static List<SkinView> getSkinViews(Activity activity)
    {
        List<SkinView> skinViews = new ArrayList<SkinView>();
        ViewGroup content = (ViewGroup) activity.findViewById(android.R.id.content);
        addSkinViews(content, skinViews);
        return skinViews;
    }

2 每次换肤都开始扫描整体所有activity,如果打开的activity过多,或者activity中有较多的元素需要更换,这里能不能自身去维护skinViews,因为后续还有便利和字符串裁剪工作要做,这里能不能换成先将处于resume的activity优先换掉。然后发消息给剩下的activity的,让其在onresume中再换掉,这里的性能会不会好点?

List<SkinView> skinViews = SkinAttrSupport.getSkinViews(activity);

3 如果我没理解错,原理是通过加载宿主的资源文件,然后通过regster的方式里面调用apply去刷新regster的activity的布局,如果打开的activity过多,或者activity中有较多的元素,这个操作是不是会让activity较慢显示在用户的视野,能不能将regster的时机推迟到onResume中?

主要语言
Java
星标
1.7k
派生
364
PR 合并指标
30 天内没有已合并 PR

环境准备

我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

hongyangAndroid/AndroidChangeSkin 的其他 Issue

查看 hongyangAndroid/AndroidChangeSkin 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。