小编Var*_*pal的帖子

如何用Image作为背景重写GLCameraRipple示例?

我试图用图像作为背景重写Apple Sample GLCameraRipple代码.实际上我正在尝试使用此代码创建水图像的涟漪效果,但代码适用于相机,而我只想使用简单的水图像作为背景而不是相机.任何方向或任何示例代码都将是一个很大的帮助.提前致谢.

iphone opengl-es objective-c ipad ios

7
推荐指数
1
解决办法
1105
查看次数

如何在 Android 中管理可运行任务队列

我有多个任务/可运行(即从互联网下载图像),这些任务是当用户滚动 Android 应用程序中的列表时生成的。

我无法控制一次生成多少个任务/Runnable,这可能是 100 个。但我只想并行执行 n(10) 个任务。因此,我计划构建一个设计,一旦生成新任务/可运行任务,它将被添加到队列 ( List<Runnable>) 中,并且通过Executors.newFixedThreadPool(10),我将仅并行执行前 10 个可运行任务。现在,一旦任务/Runnable 完成,我应该能够将它们从队列 ( List<Runnable>) 中删除,并且应该能够执行 FIFO 中队列中的新任务/Runnable。

我为这个设计开设了两个课程。第一个ExecutorManager是单例类,管理 10 个并行任务的执行,第二个是ImageDownloader实现runnable并负责下载图像的类。我不确定通知ExecutorManager任务/下载已完成并且可以从队列中执行新任务的最佳方式是什么。我遵循 FIFO,因此我总是从队列中的前 10 个任务开始执行,但是我如何知道哪个任务已完成以及哪个任务要从队列中删除?

public class ImageDownloader implements Runnable{

    DownloadListener mDownloadListener;

    public ImageDownloader(DownloadListener mDownloadListener, String URL){
        this.mDownloadListener = mDownloadListener;
    }


    @Override
    public void run() {
        //Download the Image from Internet
            //ToDo
        //if Success in download
            mDownloadListener.onDownloadComplete();
        //if Error in download
            mDownloadListener.onDownloadFailure();
        //Inform the Executor Manager that the …
Run Code Online (Sandbox Code Playgroud)

java multithreading android design-patterns

5
推荐指数
1
解决办法
6142
查看次数