回收两次!TypedArray中的运行时异常

Jok*_*kin 3 android android-5.0-lollipop

我收到一些使用android L预览的设备的崩溃报告,问题是

Caused by: java.lang.RuntimeException: [17, ...... ] recycled twice!
       at android.content.res.TypedArray.recycle(TypedArray.java:869)
Run Code Online (Sandbox Code Playgroud)

无法看到代码,因为Android L仍然无法使用,如何检查TypedArray是否已被回收?

我实际上发现对回收的调用被调用两次,但无论如何,为什么抛出异常现在打破了可能的旧工作代码(即使调用回收两次是不正确的).

ala*_*anv 9

由于L中TypedArray池的更改,调用TypedArray.recycle()两次或在recycle()之后调用TypedArray上的getter是不安全的.这从来就不是正确的应用程序行为,并且在L之前可能已经引入了细微的错误.