there is a crash i have got sometimes , it seems a jni crash , but my application have not any jni code . it\'s is a graphic application , and will load some pictures .
I remember seeing a crash like this and reading about a bug with 4.0.x in particular where removing a hardware layer in an AnimationListener (onAnimationEnd()) would cause this sort of crash. The solution was to post the layer transition as a Runnable. For example:
@Override
public void onAnimationEnd (Animation animation) {
//This will cause a crash
setLayerType(LAYER_TYPE_NONE, null);
}
@Override
public void onAnimationEnd (Animation animation) {
//This will work successfully
post(new Runnable() {
@Override
public void run () {
setLayerType(LAYER_TYPE_NONE, null);
}
}
}
I know this is an old post but I've been struggling with a similar crash for a long time and just recently found root cause. Here are a few more tidbits on my crash:
Since my app also does not have native code the stack dump/tombstone file didn't reference any of my code. Through adhoc testing, I narrowed the source of the problem to a custom ProgressBar in the app.
The ProgressBar leveraged a TimerTask under the hood! Thankfully I had recently bumped into this post while researching something else.
Changed the code to a handler and haven't seen the crash since! Hope this helps someone else.