問題タブ [android-strictmode]
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.
android - AsyncTask で Bugsense ハンドラーを設定すると、Strict Mode 違反が発生します
Strict モードをセットアップしてから、Bugsense ハンドラーをセットアップしました。これにより、StrictMode ポリシー違反が発生しました。
なぜそれが起こるのか論理的な説明はありますか?どうすればそれを取り除くことができますか?
MyApplication.java:
スタック:
java - Atom/RSS リーダーの速度と信頼性を高める
私は最近、「Atom Reader で読むのが難しい」という質問からやりました。今、Android Froyo から Jellybean まで、私が作成したブログ アプリの最大の互換性について考えています。問題は、 StrictModeを使用してチェック中にエラーが通知されたことです。Windows 7 OS経由で Eclipse IDE を実行しています。
SDK の最小バージョンを 7 に設定すると、エラーが赤い線で表示されます。
Android マニフェストを介して最小 SDK バージョンを 11 に設定すると、次のようになります。
また、AsyncTaskを使用して実行すると、遅くなったり、速くなったり、単に遅れたりします。
このxp.Get_Parse_Feed(URL_link, is, lm.headlines, lm.links);
コードを元に戻してonCreate()でメイン スレッドとして実行すると、リンクがすぐに適切に読み込まれることがあります。問題は、どれを管理すればよいか、このブログ アプリを Android 2.1 以降と互換性を持たせるにはどうすればよいかということです。
android - 厳密モードで違反を知る方法
Web サービスにログイン リクエストを送信していますが、厳格モードを有効にしていると、次のエラーが発生します
ここで違反されているものを取得する方法。
ここに更新されたコードがあります。私が間違っているところを提案してください
ありがとう
android - AndroidStrictModeとヒープダンプ
AndroidのStrictModeがリークされたオブジェクト(アクティビティなど)の違反を検出した場合、その時点でヒープダンプをキャプチャできると便利です。ただし、これを行うように構成する明確な方法はありません。死刑が発動される直前に特定のコードを実行するようにシステムを説得する方法など、それを達成するために使用できるいくつかのトリックを知っている人はいますか?StrictModeが例外をスローするとは思わないので、ここで説明するトリックを使用することはできません。AndroidプロセスにOutOfMemoryErrorでヒープダンプを生成させる方法はありますか?
android - Android の厳密モードでは複数のアクティビティ インスタンス違反が検出されますが、その理由がわかりません
コードは複雑すぎてここにすべてを掲載することはできませんが、基本的なスキーマは次のとおりです。2 つのActivity
サブクラスがあり、それぞれがListView
. それぞれに、カスタム クラスのインスタンスもListView
生成するカスタム クラスのアダプターがあります。View
これらのリストは、別のスレッドで非同期に生成されたデータ項目を示しています。更新の送信先を知る必要があるため、操作するデータ オブジェクトにはWeakReference<>
初期化時に内容を表示するアダプターへの参照を保持するように設定されているオブジェクト。最初のアクティビティのリスト内のオブジェクトが選択されると、アイテムを検索してその内容を表示するように指示するインテントで 2 番目のアクティビティを開始します。次に、「戻る」ボタンを使用して 2 番目のアクティビティを閉じ、最初のアクティビティに戻ります。何らかの理由で、チェックを有効にしてこれを実行すると、2 つのアクティビティの切り替えを数回繰り返した後、クラスStrictMode
の 1 つのインスタンスが多すぎると不平を言って、常にクラッシュします。Activity
クラッシュの直前にヒープ ダンプが書き込まれるようにしました ( Android StrictMode とヒープ ダンプを参照)。これらのヒープ ダンプは、終了時にヒープ上に 2 つのアクティビティのそれぞれのインスタンスが 1 つあることを常に示しています。まず第一に、私が最近 2 つを切り替えたときに、これは予期されていないことですか? そうであれば、なぜStrictMode
これについて不平を言っているのですか? 予期されていない場合、これを回避するにはどうすればよいですか? ヒープ ダンプを調べると、両方のオブジェクトがメイン スレッド スタックから参照されています。それぞれに からの参照もありandroid.app.ActivityThread$ActivityClientRecord
、これも制御できないようです。
では、基本的に、この状況を回避する方法はありますか? これは実際にアクティビティ リークを表しているのでしょうか、それとも StrictMode が過度に機密性が高いだけなのでしょうか?
android - 向き変更時の StrictMode$InstanceCountViolation
タブを使用したアクティビティがあり、デバイスを回転させると問題が発生します。たとえば、縦向きモードでアプリを起動して横向きに回転し、再び縦向きにすると、アプリがクラッシュし、LogCat で次のように表示されます。
これは私の活動のonCreate()
方法です:
フラグメント クラス - これは拡張する空のクラスですSherlockFragment
(私は ActionBarSherlock を使用します)。
TabManager
クラスは次のとおりです。
static
クラスとアクティビティ変数から削除しようとしましfinal
たが、役に立ちませんでした。
回転すると、アクティビティを破棄して再作成する必要があると思いますが、おそらくどこかへの参照があり、破棄できません。
誰かが私を助けることができますか?
編集:厳密モードを設定したアクティビティとアプリケーション クラスが 1 つだけの空の Android アプリケーション プロジェクトを作成しましたが、同じエラーが発生しました。これを厳密モードに使用します:
java - Android を PHP に接続する基本的な方法、MySQL チュートリアルに従おうとしています: アプリケーションがクラッシュします - android.os.StrictMode をインポートできません
わかりました-次のチュートリアルを使用しています:「AndroidをPHP、MySQLに接続する方法」
ただし、(コメントから判断して) チュートリアルを試みたほぼ全員が、アプリケーションが API レベル 8 以前でのみ実行するように設計されているため、強制終了の問題を抱えています。
何人かのユーザーが、EditProductActivity.java ファイルに次のコード行を追加することを含む、これに対する修正を開発しました。
// この部分は、作業コードを配置する場所を特定するためだけのものです
// NB * EditProductActivity.java の import セクションに以下の行を挿入します // import android.os.StrictMode;
// NetworkOnMainThreadException エラーを回避するコード
ただし、StrictMode を解決できず、StrictMode を型に解決できないというメッセージが logcat に表示されます。これについて少し調査しましたが、StrictMode は API レベル 8 以降に含まれています。それを考慮して、AndroidManifest.xml の API レベルを次のように上げました。
その後、プロジェクトをクリーンアップしましたが、StrictMode を型エラーに解決できません。
ログキャット:
ジャワ:
android - Android 厳密モード
を使用して、JSON 解析に関する簡単なコードを作成しましたAsyncTask
。に応答を表示しているだけですTextView
。それが正しいか間違っているかはわかりません。GingerBread での作業とNetworkOnMainThreadException
JellyBean での表示です。を使用するStrictMode
と、JellyBean で動作し、GingerBread で強制終了します。Android 3.0以上、Android 3.0以下をサポートするコードの書き方。
}
android - Android Java アプリでのインスタンス数違反
私はAndroidアプリケーションに取り組んでいます。要約すると、このアプリケーションにはユーザーと対話するための UI があり、リモート サービスとも対話します。リモート サービスは Android ランチャー バーに通知を追加し、この通知により UI を再表示できます。アプリとサービスは同じパッケージです。サービス通知機能のコード:
注:これはメソッドの現在のバージョンです...以前は次のFLAGSも試しました
アプリケーションのマニフェストには、次の構成が含まれています。
注:他のプロパティも試しましたが、これらは影響を期待していません...
アプリケーションを起動しても表示されなくなった場合、ランチャーバーの通知または「アプリケーション一覧」のアプリケーションエントリを使用して再表示することができますが、次のシナリオを実行すると、UI が 2 回表示されます。
- リストからアプリケーションを起動する
- ホームボタンのテープ
- 通知を使用してアプリケーションを (再) 表示する ==> UI が正しく再表示される
- ホームボタンのテープ
- 「applications list」を使用してアプリケーションを (再) 表示する ==> UI の新しいインスタンスが表示される
シナリオのログ:
アプリケーション、リモート サービス、通知に関する多くのこと、ヒントなどを読みましたが、アプリケーションがリストから再起動されたときに UI が再作成される理由を理解できず、以前に通知から再表示された場合にのみ...注: FLAG_ACTIVITY_NEW_TASK フラグがインテントに追加されていない場合、次の警告がログに記録され、観察された動作は変更されません...
どんな助けにも感謝します。
ありがとうございました。よろしくお願いします、
編集:「アプリケーション」マニフェストフィールドの代わりに、android:launchMode="singleTop" 属性が「アクティビティ」要素にある必要があります:/
動いたけど動いてる
android - Android StrictMode は常に FileReader について文句を言います
StrictMode が有効になっている場合、常に FileReader に DiskReadViolation があると不平を言います。どんなに改善したとしても、それはまだそこにあります。UIThread の遅延問題と関係があると思われます。修正方法を教えてください、thx.
編集: getCpuFreq() は asynctask に配置されますが、onpostexcute() の場所が間違っています。@rciovati、思い出していただきありがとうございます。私が受け入れることができるように、回答にあなたの言葉を投稿してください。