【发布时间】:2013-05-25 14:39:45
【问题描述】:
使用 Leadbolt 广告会导致我的应用在设备中运行许多异步任务并崩溃:
Uncaught handler: thread main exiting due to uncaught exception
05-22 20:16:08.005: W/System.err(13637): java.io.FileNotFoundException: /data/logcat_0.txt (Permission denied)
05-22 20:16:08.005: E/AndroidRuntime(13637): FATAL EXCEPTION: main
05-22 20:16:08.005: E/AndroidRuntime(13637): java.util.concurrent.RejectedExecutionException: pool=128/128, queue=10/10
05-22 20:16:08.005: E/AndroidRuntime(13637): at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1961)
05-22 20:16:08.005: E/AndroidRuntime(13637): at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:794)
05-22 20:16:08.005: E/AndroidRuntime(13637): at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1315)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.os.AsyncTask.execute(AsyncTask.java:394)
05-22 20:16:08.005: E/AndroidRuntime(13637): at com.hqiachcfpy.AdController.loadIcon(Unknown Source)
05-22 20:16:08.005: E/AndroidRuntime(13637): at com.hqiachcfpy.s.onAdOptin(Unknown Source)
05-22 20:16:08.005: E/AndroidRuntime(13637): at com.hqiachcfpy.AdOptinRequest.onPostExecute(Unknown Source)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.os.AsyncTask.finish(AsyncTask.java:417)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.os.AsyncTask.access$300(AsyncTask.java:127)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.os.Handler.dispatchMessage(Handler.java:99)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.os.Looper.loop(Looper.java:130)
05-22 20:16:08.005: E/AndroidRuntime(13637): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-22 20:16:08.005: E/AndroidRuntime(13637): at java.lang.reflect.Method.invokeNative(Native Method)
05-22 20:16:08.005: E/AndroidRuntime(13637): at java.lang.reflect.Method.invoke(Method.java:507)
05-22 20:16:08.005: E/AndroidRuntime(13637): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895)
05-22 20:16:08.005: E/AndroidRuntime(13637): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653)
05-22 20:16:08.005: E/AndroidRuntime(13637): at dalvik.system.NativeStart.main(Native Method)
05-22 20:16:08.045: W/System.err(13637): java.io.FileNotFoundException: /data/plog.log (Permission denied)
而且,它一直给我:
GC_CONCURRENT freed 402K, 48% free 3271K/6279K, external 657K/1169K, paused 4ms+6ms
我使用的代码是:
//Leadbolt code
myController = new AdController(this, "111111");
myController.loadStartAd("22222222", "222222");
public void onDestroy()
{
myController.destroyAd();
super.onDestroy();
}
为什么我会遇到这个问题?
另外,是否需要为广告定义任何刷新率?
例如,对于通知广告,您可以从leadboltnetwork 定义它们。
对于应用添加?还是应用图标?
--------更新-------------- -----
我注意到,如果我激活互联网连接,那么应用程序不会提供以上所有功能!并且不会崩溃!它工作正常!
【问题讨论】:
-
不确定你在做什么。 asynctask 不并行运行。它们在单个线程上运行。如果您正在寻找并行执行,请使用执行器。 developer.android.com/reference/android/os/AsyncTask.html。执行顺序见链接
-
@Raghunandan:我什么都没做。广告创建了这些异步任务。我没有为广告使用任何异步任务。
-
这是一个文件未找到异常,logcat 明确表示权限被拒绝
-
@Raghunandan:是的,但是当我删除广告代码时,我没有解决问题
-
我猜您的应用正在尝试访问 /data 中的文件。设备拒绝相同的权限。尝试生根您的设备。但我不建议你这样做。