Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建议使用 Android Jetpack 组件里的 App Startup 库来初始化 #427

Open
1 task done
DysaniazzZ opened this issue Oct 18, 2022 · 3 comments
Open
1 task done

Comments

@DysaniazzZ
Copy link

Environment

  • Autosize Version:
  • v1.2.1

Related Code:

<provider
    android:name="androidx.startup.InitializationProvider"
    android:authorities="${applicationId}.androidx-startup"
    android:exported="false"
    tools:node="merge">
    <meta-data
        android:name="${applicationId}.startup.AutoSizeInitializer"
        android:value="androidx.startup"/>
</provider>

<provider
    android:name="me.jessyan.autosize.InitProvider"
    android:authorities="${applicationId}.autosize-init-provider"
    tools:node="remove" />

class AutoSizeInitializer : Initializer<Unit> {
    override fun create(context: Context) {
        AutoSizeConfig.getInstance()
            .setLog(true)
            .init(context.applicationContext as Application)
            .isUseDeviceSize = false
    }

    override fun dependencies(): List<Class<out Initializer<*>>> {
        return emptyList()
    }
}

目前的问题是 AutoSizeConfig.init() 方法是默认作用域,不修改源码无法将该库的初始化整合到一个集中的 InitProvider 里面。

@JessYanCoding
Copy link
Owner

#249

@DysaniazzZ
Copy link
Author

跟这个 case 不太一样,我是想在 ContentProvider 初始化的。不过我想把这些三方库合并到一个 androidx.startup.InitializationProvider 来初始化。现在的问题是在我自己的初始化里是调用不了 AutoSizeConfig.init() 的,因为 init 方法是默认作用域。
不过我可以新建一个同名包下的类,来做个 workaround:

package me.jessyan.autosize;

import android.app.Application;

public class AutoSizeUtil {
    public static void init(Application app) {
        AutoSizeConfig.getInstance().init(app);
    }
}

@hezhipengzipp
Copy link

AutoSize.checkAndInit(this); 这个是静态的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants