java - 我在这里制造内存泄漏吗?

标签 java android memory-leaks

这是一个 View 寻呼机适配器。 我想知道我是否在使用那些匿名的 Runnables 和 TimerTasks 造成内存泄漏

@Override
    public Object instantiateItem(ViewGroup container, final int position) {

        final ImageView imageView = new ImageView(activity);

        imageView.setImageResource(slides[position].getStateOneResource());
        new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                activity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        animate(imageView, slides[position].getAllStates(), 0, false);
                    }
                });
            }
        }, 1000);

        ((ViewPager) container).addView(imageView, 0);
        return imageView;
    } // End of instantiateItem

最佳答案

LeakCanary非常适合查找内存泄漏,并且非常易于使用。

(我还不能发表评论,所以我不得不将其作为答案发布 :( )

关于java - 我在这里制造内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32524827/

相关文章:

java - 为什么纬度和经度值会转换为 1E6?

android - android中自定义ArrayAdapter中的自定义getFilter

android - FloatingActionMenu 类在按钮之间添加间距

c - Valgrind:抑制一次性内存泄漏

java - 如何在spring boot中注册jpa转换器?

java - toString() 方法打印空值

java - Java 中的语法检查

node.js - 如何使用 zlib 改进 Node.js 中内存泄漏的代码?

ios - 试图防止内存泄漏

java - 在 java 中读取一个 JSON 对象