問題タブ [native-activity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
962 参照

android - プログラムでホーム画面をデフォルトとして設定する

Android デバイスに複数のホーム画面がインストールされているとします。起動時または HOME キーを押すと、希望する HOME 画面を選択するためのダイアログと、このアクションをデフォルトとして設定するためのチェックボックスがユーザーに表示されます。

「このアクションをデフォルトとして設定」チェックボックスを選択してアプリケーションを起動すると、「デフォルト」のホーム画面が設定されるコードを知りたいです。

2 つの異なるモードでホーム画面をプログラムで制御するには、これが必要です。

よろしく、 プラガ

0 投票する
1 に答える
488 参照

android - Android のネイティブ アクティビティからの復帰に時間がかかりすぎる

私の Android アプリには 2 つのアクティビティがあります。Java で記述された FrontEnd と、NativeActivity であるゲームです。Android NDK サンプル (samples\native-activity\jni\main.c) を参考にして、ゲームのメイン C++ モジュールを作成しました。ユーザーが Game から FrontEnd に戻りたい場合は、 を呼び出しますANativeActivity_finish(g_state->activity)。その後、私が観察したことは次のとおりです。

  1. APP_CMD_TERM_WINDOWengine_handle_cmdコールバックに入る
  2. 私は電話で反応しengine_term_displayます(サンプルのように)
  3. FrontEnd アクティビティが表示されます。そして、「プレイ」ボタンを押すと、ゲームが再び起動しますが、待ち続けます....
  4. APP_CMD_STOPengine_handle_cmdコールバックに入る
  5. APP_CMD_DESTROYengine_handle_cmdコールバックに入る
  6. if (state->destroyRequested != 0)main.cpp のメインループで発火
  7. サンプルと同じように、android_main戻ります。ようやく、安全にゲームを再開できるようになりました...

ステップ 3 と 4 の間の時間間隔が約 10 秒であることを強調したいと思います (少なくとも DEBUG モードでは)! また、ステップ 3 と 4 の間でフロントエンドからゲームを再起動すると、新しいアクティビティではなく「瀕死の」アクティビティが開始されます。

APP_CMD_TERM_WINDOW と APP_CMD_STOP の間で何が起こっているのか、なぜそんなに時間がかかるのかわかりません。同じアーキテクチャの別のアプリがあり、ステップ 3 と 4 の間で約 0.3 秒かかります。最初のアプリで GC にもっと多くの仕事があるかもしれません...わかりません。だから私の質問は:

  1. NativeActivity が終了プロセスを完了するのに非常に時間がかかるのは正常ですか?
  2. ユーザーがフロントエンドからゲームを再起動したときに、ダイイング アクティビティが発生しないようにするにはどうすればよいですか?

アップデート

私はLogCatに入ります:

05-29 18:27:17.729: W/ActivityManager(476): 起動タイムアウトが期限切れになり、ウェイク ロックが放棄されました! 05-29 18:27:17.739: W/ActivityManager(476): ActivityRecord{4209b2d0 u0 blah.blah.MainActivity} のアクティビティ アイドル タイムアウト

ステップ3と4の間です。

グーグルで調べたところ、このメッセージは「危険ではない」と見なされていることがわかりましたが、何か説明できるでしょうか?

0 投票する
1 に答える
2840 参照

android - Android OpenGL の吃音 - vsync?

レンダリング ループに問題があります。eglSwapBuffersオブジェクトの移動中に、スワップの同じバッファのように見える小さなスタッターが2 回表示されます。私の FPS は常に 59 ~ 60 FPS です。移動はdeltaTime、新しい位置を計算する際に考慮されます。

それは何ですか?ダブルバッファリングはこの問題を解決できますか???

ここに小さなビデオがあります (私の言いたいことがわかると思います)。 http://youtu.be/bQYiqHUzPuI

これが私のレンダリングループです

更新機能はこちら

必要に応じてEGLOpenGLセットアップも投稿できます。

更新 1:

UINT32 は次のように定義されます。

typedef unsigned int UINT32;

そして、ここに1秒のデルタ時間があります

確かではありませんが、「f32DeltaTime : 0.006349」という行が問題になる可能性があると思います...しかし、一部のフレームで f32DeltaTime が非常に小さいのはなぜですか??? eglSwapBuffers はこのフレームで何もしませんか ??? しかし、なぜ ???質問よりも質問:)

0 投票する
2 に答える
8872 参照

android - Android の NativeActivity からの fopen/fread APK アセット

2010年以前の日付のソリューションしか見つけることができませんでした。ですから、これについてもっと最新のスタンスがあるかどうかを知りたかったのです。

Java の使用を避け、純粋に C++ を使用して、APK に保存されているファイル (1 MB 未満または 1 MB を超えるもの) にアクセスしたいと考えています。使用AssetManagerすると、他のすべてのオペレーティング システム (iOS を含む) の他のすべてのファイルのようにファイルにアクセスできなくなります。

そうでない場合、どうにかして fopen/fread を AssetManager API にマップできる C++ のメソッドはありますか?

0 投票する
2 に答える
7389 参照

android - 文字列への OpenGL ES エラー

OpenGL ES 1.1または2.0でglGetError()(AndroidおよびiOS)および(Android)からエラー文字列を取得するための標準はありますか?eglGetError()

私はこのようなものを使用しています:

に格納されている戻り値の GLenum を手動で検索するのではなく、デバッガにテキストを提供するようにこれを拡張するとよいでしょう__gle