Сахар ORM генерирует одну таблицу крайне медленно (Oat-файл без загрузчика классов. Устаревшие API-интерфейсы DexFile?) - PullRequest
0 голосов
/ 02 января 2019

У меня есть простая сущность, она называется Собака , она находится в пакете com.plat.model '

public class Dog extends SugarRecord<Dog> implements Parcelable {

String name;

public Dog() {}

public Dog(Parcel in) {
    this.id = in.readLong();
    this.name = in.readString();

}

@Override
public void writeToParcel(Parcel dest, int flags) {

    if (this.id != null) {
        dest.writeLong(this.id);
    } else {
        dest.writeLong(-1);
    }
    dest.writeString(this.name);

}

public static final Creator CREATOR = new Creator() {
    public Dog createFromParcel(Parcel in) {
        return new Dog(in);
    }

    public Dog[] newArray(int size) {
        return new Dog[size];
    }
};

@Override
public int describeContents() {
    return 0;
}
}

У меня Sugar ORM, инициированный вфайл манифеста и в классе моего приложения:

<application

    android:name="com.plat.app.MyApp"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <meta-data
        android:name="DATABASE"
        android:value="platinum_dogs.db" />
    <meta-data
        android:name="VERSION"
        android:value="11" />
    <meta-data
        android:name="QUERY_LOG"
        android:value="false" />
    <meta-data
        android:name="DOMAIN_PACKAGE_NAME"
        android:value="com.plat.model" />

//...

Класс приложения:

public class MyApp extends SugarApp {

@Override
public void onCreate() {
    super.onCreate();

}
}

Когда я запускаю приложение, сахар загружается действительно как навсегда ,У меня есть одна таблица с одним атрибутом имени, и она генерирует ее примерно на 30+ секунд. То же самое относится и к созданию таблицы, и к обновлению таблицы.

2019-01-02 12:54:31.396 23094-23094/com.plat I/Sugar: upgrading sugar
2019-01-02 12:54:31.397 23094-23094/com.plat W/zygote64: Opening an oat file without a class loader. Are you using the deprecated DexFile APIs?
2019-01-02 12:54:32.158 23094-23099/com.plat I/zygote64: Do partial code cache collection, code=25KB, data=17KB
2019-01-02 12:54:32.159 23094-23099/com.plat I/zygote64: After code cache collection, code=25KB, data=17KB
2019-01-02 12:54:32.159 23094-23099/com.plat I/zygote64: Increasing code cache capacity to 128KB
2019-01-02 12:54:39.993 23094-23094/com.plat I/Sugar: domain class
2019-01-02 12:54:39.994 23094-23094/com.plat I/Sugar: domain class
2019-01-02 12:54:40.144 23094-23094/com.plat W/zygote64: Opening an oat file without a class loader. Are you using the deprecated DexFile APIs?
2019-01-02 12:54:53.807 23094-23094/com.plat I/Sugar: domain class
2019-01-02 12:54:53.808 23094-23094/com.plat I/Sugar: domain class
2019-01-02 12:54:54.152 23094-23094/com.plat I/Sugar: on create
2019-01-02 12:54:54.153 23094-23094/com.plat W/zygote64: Opening an oat file without a class loader. Are you using the deprecated DexFile APIs?
2019-01-02 12:55:07.031 23094-23094/com.plat I/Sugar: domain class
2019-01-02 12:55:07.032 23094-23094/com.plat I/Sugar: domain class
2019-01-02 12:55:07.288 23094-23094/com.plat I/Sugar: create table
2019-01-02 12:55:07.288 23094-23094/com.plat D/Sugar: Fetching properties
2019-01-02 12:55:07.296 23094-23094/com.plat I/Sugar: creating table DOG

Что это такое? W / zygote64: Открытие файла OAT без загрузчика классов.Вы используете устаревшие API DexFile?предупреждение?

Я использую сахар в течение многих лет, но я никогда не видел этого.

Приложение targetSdkVersion и compileSdkVersion равно 28

В чем может быть проблема?

Спасибозаранее.

...