アンドロイドの開発過程で問題に遭遇した総括二

2224 ワード

1.androidカスタムview次のエラー:java.lang.IllegalStateException:Underflow in restore
理由:カスタムviewでは、キャンバスのbitmap画像を保存する方法が呼び出されます.mCanvas.restore()
解決方法:変更:mCanvas.save()mCanvas.restore(); Okay!解決!
2.Intentを使用してデータ量が大きい場合(特にbitmapオブジェクト)、appは反応しませんか?
Androidの4つのコンポーネントの間でIntentはデータを伝達して、データは大きすぎてはいけなくて、基本的に1 Mより小さくて、さもなくばプログラムの黒いスクリーンを招くことができて、ANR.
3.this.requestWindowFeature(Window.FEATURE_NO_TITLE);コードからタイトルバーを外してタイムズを使うのは間違っていますか?
ActivityがActivityまたはFragmentActivityから継承されている場合は問題ありません.AppCompatActivityを継承するとエラーが発生します
解決策はgetSupportActionBar()またはTheme.AppCompat.LightNoActionBarというテーマです.
4.サードパーティ製ライブラリを使用すると、v 4、v 7パッケージの競合の問題が頻繁に報告されますか?
libraryをパッケージ化する場合は、できるだけサードパーティ製のパッケージを導入しないでください.v 4、v 7などの持参したパッケージも同様にできるだけ導入しないでください.後で工事に依存する場合、パッケージやパッケージ内のファイルが衝突することを避けます.衝突したパッケージについては、同じものに変更すれば解決できます.
5.Can’t load native library.CPU arch invalid for this build?
CPU_ABI : armeabi, armeabi-v7a, arm64-v8a, x86, x86_64,mips,mips 64.あなたの.soファイルを/libs/(armeabi|armeabi-v 7 a|x 86|...)Android StudioをjniLibsフォルダにコピーし、eclipseをlibsフォルダにコピーします.注意複数のサードパーティ製ライブラリを使用する場合、これらのライブラリは.soファイルを使用しており、フォルダを作成する際には【最低原則】を保証する必要があります.
たとえば、1つのライブラリで.soファイルがarmeabi,armeabi-v 7 a,x 86をサポートしているのに、もう1つのライブラリがarmeabi-v 7 aのみをサポートしている場合、x 86をサポートするマシンが別のライブラリで.soファイルが見つからず、エラーが発生する可能性があります.
6.Androidアプリケーションの最初のインストールが成功して「開く」をクリックした後、ホームキーがアプリケーションを切り出した後、デスクトップアイコンをクリックして戻ると、アプリケーションの再起動の問題が発生する
/*       <action android:name="android.intent.action.MAIN" />      Activity onCreate          ,              。
*/
if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
   finish();
 return;
}

7.FragmentのsetuserVisibleHintは実行しませんか?
1.viewpager+fragmentモードsetuUserVisibleHint()メソッドは、最初のfragmentのメソッドが2回実行され、最初のonAttch()メソッドが実行される前に、2回目のonCreate()メソッドが実行された後に、onCreateView()メソッドが実行される前に実行されます.fragmentをキャッシュすると、この方法は実行されます.2.私たち自身がfragmentを切り替えたとき、transition.add(R.id.main_content,mainFragment);(取得用replace)、fragmentのsetuserVisibleHint()は実行されません.