android live wallpaper 应用第二次启动,空指针错误

android live wallpaper 应用第二次启动,空指针异常
    在写live wallpaper 时我把SurfaceHolder holder; 定义在 WallpaperService中,在内部类Engine 中的回调方法给其赋值。第一次运行,没有问题,但第二次点击该程序时,canvas就为空。 程序死掉。
  解决:在把SurfaceHolder holder;定义在 内部类,或者使用,getSurfaceHolder()给 holder赋值,则此问题解决。 但不知其所以然!!!!!