Android scrollby() 阻塞了我的 UI

Android scrollby() blocks my UI

我使用了自定义 coveflow,当我加载少量数据时一切正常,但它不适用于大量数据,

看看我下面的代码

if (mAdapter == null || mAdapter.getCount() == 0)
    throw new IllegalStateException(
            "You are trying to scroll container with no adapter set. Set adapter first.");
if (mLastCenterItemIndex != -1) {
    final int lastCenterItemPosition = (mFirstItemPosition + mLastCenterItemIndex)
            % mAdapter.getCount();
    final int di = lastCenterItemPosition - position;
    final int dst = (int) (di * mCoverWidth * mSpacing);
    mScrollToPositionOnNextInvalidate = -1;
    scrollBy(-dst, 0);
} else {
    mScrollToPositionOnNextInvalidate = position;
}
invalidate();

我已经使用此代码将我的项目移动到平板电脑的中心,现在我要解释我的观点,在一个 activity 我的一半屏幕占据 coverflow 而另一半占据 mapview,当我单击地图标记图标我需要在 coverflow 中将特定项目移动到我的屏幕中心,所以基本上我的 coverflow 和地图同步,更改必须影响两者,

当我加载少量数据时它工作得很好,但现在我尝试在单击标记时加载 11000 条记录,然后我的 UI 由于 Coverflow 中的 scrollby 而被阻止,你能提出任何移动的想法吗我的物品中心??或者有什么方法不影响 UI

欢迎所有建议 谢谢

只需将您的代码包含在

new Thread(new Runnable() {
      public void run () {
         //.........
      }
}).start();

或按部分加载项目