我正在尝试开发自定义启动器应用程序(具有无限数量的主页),我需要像在Launcher2(Android4.2)中那样实现拖放。
所以我找到了两种方法
2)使用android的launcher2方式,如实现DragController,DragSource如解释的here。
但我很难理解为什么Android的人不在他们自己的应用程序中使用他们开发的拖放框架。有人能简要介绍一下他们的方法背后可能的理由吗?(我指的是内存/性能)
提前谢谢。
发布于 2014-07-21 20:35:59
在Android Launcher中拖放是在同一个ViewGroup和同一个窗口中进行叠加绘图。但android拖放方法会创建一个完全具有独立窗口类型的独立窗口。
在资源和内存方面,标准的android拖放方法成本更高。
如果性能非常关键,我的建议是按照Android launcher的方式运行,否则更喜欢标准的android方法,它简单而简单。
发布于 2014-03-20 13:04:54
与Launcher应用程序中使用的相比,Android的拖放框架非常基础。
Launcher应用程序有无数的“层”,拖放发生在这些层上,即DragLayer、工作区和所有应用程序视图等。它使用窗口标志,并在拖动过程中动态地向DragLayer添加/删除视图,并且有许多活动监视拖动。有关更多详细信息,请特别查看DragLayer.java和Workspace.java文件。
发布于 2013-08-01 18:08:15
拖放框架是sice api 11。我猜,在此之前已经编写了很多launcher代码,还没有人有时间对其进行重构。但api的工作原理类似于第二种方法。
https://stackoverflow.com/questions/14444868
复制相似问题