kon MemTrack Module Logcat-fout niet laden

Ik krijg een foutmelding Couldn't load memtrack module (No such file or directory) failed to load memtrack module: -2op looptijd.

Stacktrace-fout:

E/SoundPool(1280)       : error loading /system/media/audio/ui/Effect_Tick.ogg 
 E/SoundPool(1280)       : error loading /system/media/audio/ui/KeypressStandard.ogg       
 E/SurfaceFlinger(931)   : glCheckFramebufferStatusOES error 733995180
 E/memtrack(1873)        : Couldn't load memtrack module (No such file or directory)
 E/android.os.Debug(1873): failed to load memtrack module: -2
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/SurfaceFlinger(931)   : glCheckFramebufferStatusOES error 733995180
 E/SurfaceFlinger(931)   : got GL_FRAMEBUFFER_COMPLETE_OES error while taking screenshot
 E/libEGL(931)           : called unimplemented OpenGL ES API
 E/libEGL(931)           : called unimplemented OpenGL ES API

manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.hive"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:name="com.sit.gems.app.GemsApplication"
        android:theme="@style/AppTheme" >
    <activity
            android:name="com.sit.gems.activity.SplashActivity"
            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="com.sit.gems.activity.HomeActivity" android:screenOrientation="portrait"></activity>
    </application>
</manifest>

splashactivity.java:

package com.sit.gems.activity;
import com.example.hive.R;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class SplashActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_home);
        startActivity(new Intent(SplashActivity.this,HomeActivity.class));
        SplashActivity.this.finish();
    }
}

layout_home.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_above="@android:id/tabs" >
                <FrameLayout
                    android:id="@+id/tab_home"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />
                <FrameLayout
                    android:id="@+id/tab_video"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" />
                <FrameLayout
                    android:id="@+id/tab_audio"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>
                <FrameLayout
                    android:id="@+id/tab_blog"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>
                <FrameLayout
                    android:id="@+id/tab_gal"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>
                <FrameLayout
                    android:id="@+id/tab_more"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent" >
                </FrameLayout>
            </FrameLayout>
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:background="@drawable/bottom_bar"
                android:divider="@null" />
            <!-- android:background="#d8e49c" -->
        </RelativeLayout>
    </TabHost>
</LinearLayout>

Uitvoer:

Eindelijk wordt het lege scherm weergegeven.

Weet iemand hoe je deze fouten kunt oplossen?


Antwoord 1, autoriteit 100%

Deze fout, zoals je kunt lezen op de vraag gekoppeld in opmerkingen hierboven, resultaten zijn:

“[…] een probleem met het laden van {sommige} hardwaremodules. Dit kan te maken hebben met GPU-ondersteuning, sd-kaartverwerking, eigenlijk alles.”

De onderstaande stap 1 zou dit probleem moeten oplossen. Zoals ik kan zien, heb je een aantal vreemde pakketnamen in je manifest:

  • package=”com.example.hive”in <manifest>-tag,
  • android:name=”com.sit.gems.app.GemsApplication”voor <application>
  • en android:name=”com.sit.gems.activity”in <activity>

Zoals u weet, verhinderen deze zaken niet dat uw app wordt weergegeven. Maar ik denk:

De Couldn't load memtrack module errorniet optreden vanwege emulatorenconfiguraties problemen en, omdat uw project veel organisatieproblemen bevat, kan het helpen om een ​​vers herontwerp te geven.

Voor beter gebruik en met weinig dingen kan dit worden opgelost door deze tips te volgen:


1. Probeer een andere emulator …

en zelfs een echt apparaat! De memtrack moduleFOUT lijkt gerelateerd aan uw emulator. Dus verander het in Run configuration, vergeet niet om de APIte wijzigen.


2. OpenGL-foutlogboeken

Voor OpenGlFOUTEN, AS called unimplemented OpenGL ES API, het is geen fout, maar een verklaring! U moet het in uw manifest inschakelen (u kunt lezen dit antwoord als u GLSURFACEVIEW BINNENDIENING gebruikt HomeActivity.java, het kan u helpen):

<uses-feature android:glEsVersion="0x00020000"></uses-feature>  
// or
<uses-feature android:glEsVersion="0x00010001" android:required="true" />

3. Gebruik hetzelfde pakket

Verklaar geen verschillende pakketnamen aan alle tags in Manifest. U moet hetzelfde hebben voor Manifest, Activities, enz. Iets als deze ziet er goed uit:

<!-- set the general package -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sit.gems.activity"
    android:versionCode="1"
    android:versionName="1.0" >
    <!-- don't set a package name in <application> -->
    <application ... >
        <!-- then, declare the activities -->
        <activity
            android:name="com.sit.gems.activity.SplashActivity" ... >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- same package here -->
        <activity
            android:name="com.sit.gems.activity.HomeActivity" ... >
        </activity>
    </application>
</manifest>  

4. Raak niet verdwaald met lay-outs:

U moet een andere lay-out instellen voor SplashScreenActivity.javaomdat u de TabHostvoor het SPLASH-scherm niet gebruikt en dit is geen veilige middelen. Verklaar een specifieke lay-out met iets anders, zoals de app-naam en het logo:

// inside SplashScreen class
setContentView(R.layout.splash_screen);
// layout splash_screen.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent" 
     android:gravity="center"
     android:text="@string/appname" />  

Vermijd het gebruik van een lay-out in activiteiten die het niet gebruiken.


5. Splash-scherm?

Ten slotte begrijp ik het doel van uw SplashScreenActivityniet duidelijk. Het stelt een contentweergave en direct af. Dit is nutteloos.

Zoals de naam is SPLASH-scherm , neem ik aan dat u een scherm wilt weergeven voordat u uw HomeActivity. Daarom moet u dit doen en niet gebruiken TabHostlay-out;) :

// FragmentActivity is also useless here! You don't use a Fragment into it, so, use traditional Activity
public class SplashActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // set your splash_screen layout
        setContentView(R.layout.splash_screen);
        // create a new Thread
        new Thread(new Runnable() {
            public void run() {
                try {
                    // sleep during 800ms
                    Thread.sleep(800);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // start HomeActivity
                startActivity(new Intent(SplashActivity.this, HomeActivity.class));
                SplashActivity.this.finish();
            }
        }).start();
    }
}  

Ik hoop dat dit soort tips je helpen te bereiken wat je wilt.
Als dit niet het geval is, laat me dan weten hoe ik je kan helpen.


Antwoord 2, autoriteit 9%

Ik had dezelfde fout. Het maken van een nieuwe AVD met het juiste API-niveau loste mijn probleem op.


Antwoord 3

Ik had hetzelfde probleem, maar toen ik de skin van het AVD-apparaat veranderde in HVGA, werkte het.


Antwoord 4

Soms kan het komen door een eenvoudig probleem.

Dit is mijn geval:

In het project gebruiken we Kotlinen DImet Dagger2. Onze datamodelklasse is gewijzigd in API. We vergeten het echter bij te werken aan de applicatiezijde. Ik had dus dezelfde fout, namelijk memtrack: kan memtrack-module niet laden.

Mijn case-oplossing:

  1. Update gegevensmodel in app.
  2. Klik op ‘Project opschonen’in Android Studio.
  3. Klik op ‘Project opnieuw opbouwen’in Android Studio.
  4. Gereed.

Antwoord 5

heb je de ViewTreeObserver gebeld en niet verwijderd.

   mEtEnterlive.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
         // do nothing here can cause such problem
    });

Antwoord 6

Ik had dit probleem ook, ook draaiend op een emulator.. Hetzelfde bericht verscheen op Logcat, maar het had geen invloed op de functionaliteit van de app. Maar het was vervelend en ik hou er niet van om fouten in het logboek te zien die ik niet begrijp.

Hoe dan ook, ik heb het bericht verwijderd door het RAM-geheugenop de emulator te vergroten.

Other episodes