- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在我的应用程序中添加一些内容。当我启用 StrictMode 时,我遇到了一堆像这样的违反政策的行为(可能有 6 或 7 个)。这是正常的吗?
18817-18817/com.xyz.xyz.xyz D/StrictMode: StrictMode policy violation; ~duration=67937 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=5439503 violation=2
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1263)
at libcore.io.BlockGuardOs.fstat(BlockGuardOs.java:132)
at java.io.RandomAccessFile.length(RandomAccessFile.java:240)
at java.util.zip.ZipFile.readCentralDir(ZipFile.java:386)
at java.util.zip.ZipFile.<init>(ZipFile.java:175)
at java.util.zip.ZipFile.<init>(ZipFile.java:142)
at android.webkit.WebViewFactory.getLoadFromApkPath(WebViewFactory.java:357)
at android.webkit.WebViewFactory.getWebViewNativeLibraryPaths(WebViewFactory.java:407)
at android.webkit.WebViewFactory.loadNativeLibrary(WebViewFactory.java:511)
at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:188)
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:158)
at android.webkit.WebSettings.getDefaultUserAgent(WebSettings.java:1239)
at com.google.android.gms.ads.internal.util.ai.a(:com.google.android.gms.DynamiteModulesA:414)
at com.google.android.gms.ads.internal.util.y.a(:com.google.android.gms.DynamiteModulesA:419)
at com.google.android.gms.ads.internal.state.h.a(:com.google.android.gms.DynamiteModulesA:349)
at com.google.android.gms.ads.internal.a.<init>(:com.google.android.gms.DynamiteModulesA:153)
at com.google.android.gms.ads.internal.c.<init>(:com.google.android.gms.DynamiteModulesA:104)
at com.google.android.gms.ads.internal.c.<init>(:com.google.android.gms.DynamiteModulesA:92)
at com.google.android.gms.ads.internal.g.<init>(:com.google.android.gms.DynamiteModulesA:55)
at com.google.android.gms.ads.internal.o.<init>(:com.google.android.gms.DynamiteModulesA:89)
at com.google.android.gms.ads.ChimeraAdManagerCreatorImpl.newAdManagerByType(:com.google.android.gms.DynamiteModulesA:66)
at com.google.android.gms.ads.internal.client.al.onTransact(:com.google.android.gms.DynamiteModulesA:91)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.ads.internal.client.am.newAdManagerByType(:com.google.android.gms:170)
at com.google.android.gms.ads.AdManagerCreatorImpl.newAdManagerByType(:com.google.android.gms:90)
at com.google.android.gms.ads.internal.client.al.onTransact(:com.google.android.gms:91)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.ads.internal.client.zzv$zza$zza.zza(Unknown Source)
at com.google.android.gms.ads.internal.client.zze.zza(Unknown Source)
at com.google.android.gms.ads.internal.client.zzl$1.zzim(Unknown Source)
at com.google.android.gms.ads.internal.client.zzl$1.zzin(Unknown Source)
at com.google.android.gms.ads.internal.client.zzl.zza(Unknown Source)
at com.google.android.gms.ads.internal.client.zzl.zza(Unknown Source)
at com.google.android.gms.ads.internal.client.zzae.zzjn(Unknown Source)
at com.google.android.gms.ads.internal.client.zzae.zzjm(Unknown Source)
at com.google.android.gms.ads.internal.client.zzae.zza(Unknown Source)
at com.google.android.gms.ads.BaseAdView.loadAd(Unknown Source)
at com.google.android.gms.ads.AdView.loadAd(Unknown Source)
at com.xyz.xyz.xyz.MainActivity.LoadAd(MainActivity.java:539)
at com.xyz.xyz.xyz.MainActivity.onCreate(MainActivity.java:323)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4077)
at android.app.ActivityThread.-wrap15(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1350)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:72
adview 的代码是这样的:
private void LoadAd(){
Log.d(TAG, "LoadAd() called");
mAdView = new AdView(this);
//Finds an ad that best fits a user's device.
LinearLayout adContainer = (LinearLayout) findViewById(R.id.adView_container);
mAdView.setAdSize(Utils.getBannerSize(this));
mAdView.setAdUnitId(getString(R.string.banner_ad_unit_id));
adContainer.addView(mAdView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
最佳答案
如果您通过 detectAll()
或 detectDiskReads()
将 StrictMode 设置为检测 DiskReads,则当应用程序读取磁盘时会发生 StrictMode 违规。
我认为 DiskReads 在正常情况下不是问题。所以你可以像下面这样禁用这种违规行为:
StrictMode.ThreadPolicy threadPolicy = new StrictMode.ThreadPolicy.Builder()
. ...
.permitDiskReads()
.permitDiskWrites() // If you also want to ignore DiskWrites, Set this line too.
. ...
.build();
StrictMode.setThreadPolicy(threadPolicy);
关于android - Adview loadAd() 触发 StrictMode 违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38930737/
我正在尝试将 Google Admob 合并到我的 android 应用程序中。我已按照 https://developers.google.com/admob/android/quick-start
我有一个画廊应用程序,有一些类别:动物,花卉......我创建了一个 Activity 的每个画廊,所有画廊中的这个 Activity 具有相同的内容: onCreate: tSpeak = new
我正在尝试在我的 Activity 中通过 admob 制作广告,它工作正常,但在移动一些东西后,我出现了这个错误。 代码如下:第一次遇到这种情况,重启eclipse也没用。 java.lang.Cl
我正在开发一个 Android 应用程序,但在我添加 AdView 后它显示错误 Error:(23, 31) No resource found that matches the given nam
我在我的应用程序中使用 adview 来测试某些健康状况,但显示的广告与状况或健康问题完全无关。由于制药和健康行业的广告很多,我确信应该有“匹配”的广告——我的应用程序似乎没有调用它们! 有没有办法“
我有一个带有 View 和导航栏的导航 Controller 。 我想在导航栏和 View 之间插入一个 AdView(我正在使用 AdWhirl)。 AdView 应该向下滑动并将 View 向下推
我试图在执行 Activity 时在 AdsView 下方放置一个按钮 - download_btn。
我正在尝试将 AdView 放在我的应用程序的底部。但是,当我测试我的应用时,我没有看到广告,也没有看到 AdView。 在我的 MainActivity 中,我用 2 个 fragment 替换 2
我有: @Override public void onActivityCreated( Bundle bundle ) { super.onActivityC
我想在我的应用程序中包含一个 admob 横幅,但我遇到了这个奇怪的错误。非常感谢任何帮助。 这是xml代码 在 Activity 中,我写了如下代码 adview = (AdView)findVi
我有一个 Surfaceview 和一个 AdView,我是这样画 Adview 的: g=new GameView(this ); setContentView(R.layout.a
我的应用程序有一些“GameOver” Activity ,游戏结束时会调用该 Activity 。此 Activity 包含它自己的 AdView。现在我的问题是,每次玩家输掉游戏并且调用此 Act
我想在这个适配器的第二个位置添加一个广告 View 。我必须为此改变什么?在过去的两个小时里,我尝试了很多。我可以在加载列表后插入吗? 这是我的适配器代码: public class FeedsAda
在 XML 布局中,一切看起来都很完美。当我使用模拟器或真实设备时,adView不可见。我尝试为 adView 设置高度,例如 200 dp。然后 adView 就可见了。但是,当我为 adView
我在我的应用程序中使用了一个广告 View ,想知道何时有人点击了该广告 View !我该怎么做?onclicklistener 似乎不起作用。 最佳答案 你可以这样设置监听器: adView.set
我在 Layout 的 XML 中定义了一个 AdView,如果用户购买了应用程序的无广告版本,我想让它消失。 我在做的是 if(userhaspurchased){ if (mAdView
我正在使用 AdView 和 LeakCanary。承载 adView 的 Fragment 在 onDestroy 中调用 adView.destroy(),但 LeakCanary 显示承载该 F
我是 Android 开发的初学者。我刚刚发布了一个应用程序,但发现了一些问题,因此我想通过创建一个新的 Android 项目来纠正这些问题,该项目的包名称与已发布的应用程序的包名称相同。但是,一旦我
我想在我的应用程序中添加 AdMob,但在我的应用程序中找不到 AdView 类 build.gradle ... dependencies { api ('com.google.android
我最近在我的应用程序中添加了一个广告 View 。但dint对admob一无所知。我收到错误,因为我没有将其与 admobId 链接。所以我从布局中删除了广告 View 。但同样的错误又来了。我认为
我是一名优秀的程序员,十分优秀!