2

パラメータ android:autoLink="phone" を使用して電話番号を持つ TextView を含むレイアウトを作成すると、StrictModeDiskRead 違反が発生します。

これは com.android.support:appcompat-v7:22.2.0 を使用しています

autoLink パラメータを削除すると、違反が発生しなくなります。

これを修正する方法はありますか?

スタックトレース:

D/StrictMode﹕ StrictMode ポリシー違反。~duration=108 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=31 violation=2 at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1135) at libcore.io.BlockGuardOs.open(BlockGuardOs.java: 106) libcore.io.IoBridge.open(IoBridge.java:393) で java.io.RandomAccessFile.(RandomAccessFile.java:118) で java.io.RandomAccessFile.(RandomAccessFile.java:150) で java.util. zip.ZipFile.(ZipFile.java:149) で java.util.jar.JarFile.(JarFile.java:187) で libcore.net.url.JarURLConnectionImpl.openJarFile(JarURLConnectionImpl.java:136) で libcore.net.url libcore.net.url の .JarURLConnectionImpl.findJarFile(JarURLConnectionImpl.java:113)。

編集: ViewStub を使用してこのビューをオンデマンドでロードしているため、アプリの通常のロードが遅くなることはありません

4

1 に答える 1

1

スタック トレースは確かに通常のように見えます。少なくとも、それはあなたのコードではなく、システムです。

ドキュメントから:

ただし、StrictMode が検出したすべてを修正する必要はありません。特に、通常のアクティビティ ライフサイクルでは、多くの場合、ディスク アクセスが必要になります。StrictMode を使用して、偶然行ったことを見つけます。

于 2015-10-05T23:00:32.953 に答える