kla*_*nge 15 android roboguice
我正在开发和Android倒计时应用程序.
在应用程序中,您可以根据需要添加或删除多个倒计时.
所有倒计时都保存在ArrayList中.我不能将它们保存在数据库或共享首选项中,因为即使您离开应用程序,倒计时也必须继续运行.
我正在使用roboguice 2.0和guice-3.0-no_aop.jar来处理我的依赖注入.
大多数时候everthing工作正常,但有时如果我启动应用程序我只得到以下警告和所有变量,如我保存倒计时的Arraylist再次是空的.
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Google Collections to your system class path.
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): java.io.FileNotFoundException: com/google/inject/internal/util/$Finalizer.class
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.getBaseUrl(FinalizableReferenceQueue.java:269)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.loadFinalizer(FinalizableReferenceQueue.java:253)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue.loadFinalizer(FinalizableReferenceQueue.java:175)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$FinalizableReferenceQueue.<clinit>(FinalizableReferenceQueue.java:100)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$QueueHolder.<clinit>(MapMaker.java:787)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$WeakEntry.<init>(MapMaker.java:946)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$Strength$1.newEntry(MapMaker.java:312)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:498)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:419)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2029)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:116)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:180)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:366)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.Key.strategyFor(Key.java:338)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.Key.get(Key.java:272)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:82)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.internal.ConstantBindingBuilderImpl.annotatedWith(ConstantBindingBuilderImpl.java:49)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.config.DefaultRoboModule.configure(DefaultRoboModule.java:121)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.spi.Elements.getElements(Elements.java:101)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.google.inject.spi.Elements.getElements(Elements.java:78)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.setBaseApplicationInjector(RoboGuice.java:81)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.setBaseApplicationInjector(RoboGuice.java:137)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.getBaseApplicationInjector(RoboGuice.java:57)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.RoboGuice.getInjector(RoboGuice.java:147)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at roboguice.activity.RoboFragmentActivity.onCreate(RoboFragmentActivity.java:50)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at de.neosit.grafzahl.MainActivity.onCreate(MainActivity.java:38)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.Activity.performCreate(Activity.java:4637)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.access$600(ActivityThread.java:127)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.os.Handler.dispatchMessage(Handler.java:99)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.os.Looper.loop(Looper.java:137)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at android.app.ActivityThread.main(ActivityThread.java:4499)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at java.lang.reflect.Method.invokeNative(Native Method)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at java.lang.reflect.Method.invoke(Method.java:511)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
05-21 13:07:33.260: W/nalizableReferenceQueue(14417): at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚导致这个问题的原因.我读到有人有同样的问题,但一般的改进是这只是一个警告,可以忽略.所以也许其他东西导致变量的重置.
我希望你能帮助我.提前致谢.
在android studio中,我更改了build.gradle依赖项.
dependencies {
...
compile 'com.google.inject:guice:4.0-beta:no_aop'
compile 'org.roboguice:roboguice:2.0'
}
Run Code Online (Sandbox Code Playgroud)
这似乎是指南3.0 no_aop的一个问题.我升级到guice 4.0(beta)no_aop,问题就消失了.
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0-beta</version>
<classifier>no_aop</classifier>
</dependency>
Run Code Online (Sandbox Code Playgroud)
您还需要在原始roboguice依赖项中添加一个排除项:
<dependency>
<groupId>org.roboguice</groupId>
<artifactId>roboguice</artifactId>
<version>2.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
</exclusion>
</exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6234 次 |
| 最近记录: |