android动态壁纸周期

本文介绍Android动态壁纸的实现原理,重点讲解WallpaperService及其Engine类的生命周期方法,如onCreate、onSurfaceCreated等,并通过实例展示不同场景下各方法的调用顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android动态壁纸服务类继承WallpaperService,主要是靠其内部方法onCreateEngine()方法返回的Engine来实现动态显示!所以写个内部类,将所有操作都放到Engine类中处理,WallpaperService无需其他操作(如果将一些初始化的东西放到WallpaperService里的话可能出现的情况就是:1、设置壁纸之后再一次设置同一个壁纸,壁纸不会再动;2、预览转屏时点击“设置”将出现壁纸完全混乱)。

在这里主要就是按照一个壁纸可能的流程,打印了一些方法,看看某个阶段会调用什么样的方法,这样可以在特定的阶段初始不同的值,以及创建和销毁对象:

1、MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onTouchEvent
 MyEngine  onTouchEvent
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy


2、 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy

3、 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyWallpaperSevice  onConfigurationChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy
 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy


4、 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyWallpaperSevice  onConfigurationChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy
 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onTouchEvent
 MyEngine  onTouchEvent
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyWallpaperSevice  onConfigurationChanged
 MyEngine  onOffsetsChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceChanged
 MyEngine  onOffsetsChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy


5、 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyWallpaperSevice  onConfigurationChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy
 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyWallpaperSevice  onConfigurationChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy
 MyWallpaperSevice  onCreate
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onTouchEvent
 MyEngine  onTouchEvent
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy


6、 MyEngine  onVisibilityChanged
 MyWallpaperSevice  onCreateEngine
 MyEngine  MyEngine()
 MyEngine  onCreate
 MyEngine  onSurfaceCreated
 MyEngine  onSurfaceChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onTouchEvent
 MyEngine  onTouchEvent
 MyEngine  onVisibilityChanged
 MyEngine  onOffsetsChanged
 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy


7、 MyEngine  onVisibilityChanged
 MyEngine  onSurfaceDestroyed
 MyEngine  onDestroy
 MyWallpaperSevice  onDestroy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值