进行部分代码缓存收集,代码= 24KB,数据= 30KB android studio 3.3.2

时间:2019-04-20 10:07:28

标签: android crash android-gradle heap-memory

在向Gradle添加某些依赖项后,我的应用程序冻结并崩溃。

问题

2019-04-15 10:17:34.573 10220-10225/com.example.app I/art: Do partial code cache collection, code=24KB, data=30KB
2019-04-15 10:17:34.573 10220-10225/com.example.app I/art: After code cache collection, code=24KB, data=30KB
2019-04-15 10:17:34.573 10220-10225/com.example.app I/art: Increasing code cache capacity to 128KB
2019-04-15 10:17:34.661 10220-10220/com.example.app D/AndroidRuntime: Shutting down VM
2019-04-15 10:17:34.683 10220-10231/? I/art: Starting a blocking GC HeapTrim
2019-04-15 10:17:34.692 10220-10227/? I/art: Debugger is no longer active
2019-04-15 10:17:34.692 10220-10227/? I/art: Starting a blocking GC Instrumentation

我已提及以下答案

"AndroidRuntime: Shutting down VM" with nothing else

Logcat showing "Shutting down VM"

Getting this exception which forces the android app to crash on start

但他们都没有帮助。问题依旧。

Manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.app"
    android:hardwareAccelerated="false"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO" />
    <uses-permission
        android:name="android.permission.CAMERA"
        android:required="true" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />

    <uses-feature android:name="android.hardware.camera2" />

    <application
        android:name=".sync.LogCreate"
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".activities.ForgotPasswordActivity"></activity>
        <activity
            android:name=".activities.Splashscreen"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
              <action android:name="android.intent.action.MAIN" />

              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activities.LoginActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".activities.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan" />

        <service android:name=".sync.FirebaseMessageService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name=".sync.FirebaseInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

build.gradle(app)

dependencies {

    implementation files('libs/httpmime-4.3.6.jar')
    implementation files('libs/picasso-2.4.0.jar')
    implementation files('libs/pixlui-1-0-5.jar')
    implementation files('libs/AndroidNBioBSPJNI.jar')
    //noinspection GradleCompatible

    //Android Support Libraries
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'

    implementation 'com.otaliastudios:cameraview:1.5.1'

    //Firebase Services
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-messaging:17.6.0'
    implementation 'com.google.firebase:firebase-ml-vision:19.0.3'
    implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2'
    //implementation 'com.google.android.gms:play-services:12.0.1'

    implementation 'com.mikhaellopez:circularimageview:3.0.2'
    implementation 'com.squareup:android-times-square:1.6.5@aar'
    implementation 'com.journeyapps:zxing-android-embedded:3.4.0'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.3@aar') {
        transitive = true;
    }

    implementation 'com.squareup.okhttp3:okhttp:3.2.0'
    implementation 'com.akexorcist:localizationactivity:1.2.2'
    implementation 'gun0912.ted:tedpermission-rx2:2.1.1'

    // JSON response handling library
    implementation 'com.google.code.gson:gson:2.8.5'

}
apply plugin: 'com.google.gms.google-services'

添加时出现memoryHeap问题。

implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2'

我什至尝试重新实现相同的库,但在那里没有任何问题。

Application.class

public class LogCreate extends Application {

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

        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
                try {
                    String root = Environment.getExternalStorageDirectory().toString() + "/example";
                   FileWriter fw = new FileWriter(root + "/exception.txt", true);
                    PrintWriter pw = new PrintWriter(fw);
                    e.printStackTrace(pw);
                    Log.e("uncaughtException: ", "=" + e.getMessage());
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        });

        if (isExternalStorageWritable()) {

            String root = Environment.getExternalStorageDirectory().toString() + "/example";
            File logDirectory = new File(root + "/log");
            File logFile = new File(logDirectory, "logcat" + System.currentTimeMillis() + ".txt");

            // create log folder
            if (!logDirectory.exists()) {
                logDirectory.mkdir();
            }

            // clear the previous logcat and then write the new one to the file
            try {
                Process process = Runtime.getRuntime().exec("logcat -c");
                process = Runtime.getRuntime().exec("logcat -f " + logFile);
            } catch (IOException e) {
                e.printStackTrace();
            }

        } else if (isExternalStorageReadable()) {
            // only readable
        } else {
            // not accessible
        }
    }

    /*Checks if external storage is available for read and write */
    public boolean isExternalStorageWritable() {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            return true;
        }
        return false;
    }

    /*Checks if external storage is available to at least read */
    public boolean isExternalStorageReadable() {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state) ||
                Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
            return true;
        }
        return false;
    }
}

任何帮助都会很棒。

预先感谢

0 个答案:

没有答案