Ich habe die GLSurfaceView erweitert und meinen eigenen GLSurfaceView.Renderer implementiert, um mein erstes relativ einfaches 2D OpenGLES Spiel für Android zu erstellen.
Ich habe mein Spiel mit dem folgenden Code auf die Aktivitäten onCreate-Methode, die die Oberfläche Ansicht als Inhalt Ansicht, von denen ich eine konstante 60fps erhalten haben, setzt getestet.
60fps Aktivität :
mGLView = new OpenGLTest1SurfaceView(this);
setContentView(mGLView);
Jetzt bin ich jedoch zu einem XML-Layout übergegangen, damit ich ein Admob-Overlay in der rechten unteren Ecke des Bildschirms platzieren kann,
admob xml :
<Frame Layout...
<...OpenGLTest1SurfaceView...
<com.google.ads.adView...
admob-Aktivität :
setContentView(R.layout.main);
Jetzt schwankt die Anwendung in scheinbar zufälligen Abständen zwischen 43fps und 60fps. Ich habe mir den LogCat angesehen und die GC läuft nicht übermäßig (einmal alle 20 Sekunden oder so).
- Hätte ich eine niedrigere Bildrate erwarten sollen, wenn ich meine Oberflächenansicht in ein XML-Layout verschiebe?
- Gibt es eine alternative Methode für die Anzeige von Admob-Anzeigen, ohne ein XML-Layout zu verwenden?
- Gibt es irgendetwas, das ich tun kann, um herauszufinden, warum die FPS meiner Anwendungen zu bestimmten Zeiten sinken?
Jede Hilfe wäre sehr willkommen, denn ich möchte meine OpenGL-Anwendungen in naher Zukunft zu Geld machen können.