2012-01-13 8 views
0

私はアンドロイド用のいくつかのゲームエンジンを試していて、cocos2d-android-1を見つけました。 私は、FPSカウンターを表示する以外はほとんど何もしない小さな例を設定しました。ゲームのアクティビティが再開したとき、Cocos2d-androidのフレームドロップが

問題は、アクティビティが(ホームキーまたはバックキーを使用して)バックグラウンドに移動して戻ってくるたびに、FPSが大きく低下することです。最初の開始時には、彼らは10歳以下の活動を再開した後、私のために約60歳(HTC Desire)になります。

アクティビティはマニフェストのランドスケープに固定され、フルスクリーンモードを有効にするには@android:style/Theme.Black.NoTitleBar.Fullscreenを使用します。

デバイス設定のアプリケーションメニューからアプリケーションを停止すると、すべてがリセットされます。最初の打ち上げで60 fpsが再び得られ、次の打ち上げも低下します。

どうすればこの問題を解決できますか?ここで

は、小さな作業サンプルです:

public class MainActivity extends Activity { 

    private CCGLSurfaceView glSurfaceView; 

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

     glSurfaceView = new CCGLSurfaceView(this); 
     setContentView(glSurfaceView); 
    } 

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

     CCDirector.sharedDirector().attachInView(glSurfaceView); 
     CCDirector.sharedDirector().setDisplayFPS(true); 
    } 

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

     CCDirector.sharedDirector().pause(); 
    } 
} 

答えて

0

OK]をクリックして、それを修正しました。どうやら、私はディレクターの履歴書()に電話していたのを忘れていました。 これを上記のコードに追加して正常に動作します。

@Override 
public void onResume() { 
    super.onResume(); 
    CCDirector.sharedDirector().resume(); 
} 
関連する問題