FAQ
UIメインスレッドで時間のかかる作業のために、カードのアップグレードアクティビティが表示されない
アクティビティの更新は基本的UIスレッドで処理されます。時間のかかる作業や基本的なUIスレッドで無限ループがある場合、UI更新に影響を及ぼして、カードをアップグレードアクティビティが表示されません。
onUI_init
,onUI_intent
,onUI_show
,onUI_hide
,onUI_quit
,onUI_Timer
とコントロールに関連するいくつかのコールバック関数、これらの関数はすべてUIメインスレッドから呼び出されるため、まず、これらの機能には時間がかかる作業があることを確認してください。 この場合は、カードを挿入した状態で、ボードを再起動するまで、システムが稼動すると、まず、アップグレードが必要かどうかを確認して、アップグレードのインターフェイスが正常に表示されます。ダウンロードとデバッグ不可能/ダウンロードおよびデバッグに失敗
まず、コンピュータとボードが正しく接続されているかどうか確認してください。WIFIがあるボードである場合WIFI接続のみをサポートし、USBケーブルの接続を使用することができません。同様にWIFIがないボードの場合は、USBケーブルのみ接続できます。一般的に、コンピュータは、USBデバイスとして認識します。 サポートされている接続モードを確認した後IDEのメニュー表示の行に移動してDebug Configuration - > ADB Configurationを選択して保存します。 以後再度ダウンロードしてみてください。
ADBを通じたダウンロードおよびデバッグ方法プログラムが突然自然再起動または中断
まず、プログラムで予期しない状況が発生した場合、ログ([ログ表示方法](logcat.md))を確認し、問題を再現し、ログに基づいて、問題のコードを確認する必要があります。 プログラムがクラッシュして再起動すると、一般的に類似したログが表示されます。これらのログは、プログラムが開始され、初期化されるときに出力されるので、これを使用して、プログラムが再起動されたことを確認することができます。
ほとんどのプログラムがクラッシュの原因は、無効なポインタを使用可能性があります。例 :
- Null pointer
- 範囲外の配列
- ポインタのメモリが解放された後でも、使用
等.
プロジェクトは、C言語とC++言語のプログラミングをベースので、ポインタメモリの面で生のポインタを処理することが避けられないので、十分に注意する必要があります。
Divisorは0になることはありませんエラーに注意を払ってない可能性がある別の種類の衝突があります。プログラムが停止した場合は、ログで再起動現象を見つけることができません。この場合、スレッドデッドロック、コード無限ループ、時間がかかる作業などを分析して確認します。