如何将AsyncTask实现到我当前的Activity中

时间:2017-11-14 22:49:41

标签: android android-asynctask android-recyclerview recycler-adapter twitterkit

我的Android应用程序中的活动加载速度非常慢,它使用TwitterKit将Tweets加载到RecyclerView中。 LogCat显示以下消息:“

跳过1491帧!应用程序可能在其主线程“

上做了太多工作

经过一些研究,我明白我需要实现AsyncTask来将工作负载从主线程中移开。我试图实现它,但是,我不能让它工作。非常感谢正确方向上的一点。请参阅下面的代码

// Add Shortcode
function get_cart_count() {

/**
 * Check if WooCommerce is active
 **/
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
     global $woocommerce;
     ?>
     <script>
        jQuery( document ).ready(function() {
        function DrawCircle() {
        var bar = new ProgressBar.Circle(container, {
          color: '#57bf6d',
          // This has to be the same size as the maximum width to
          // prevent clipping
          strokeWidth: 5,
          trailWidth: 10,
          easing: 'easeInOut',
          duration: 1400,
          text: {
            autoStyleContainer: false

          },
          from: { color: '#333', width: 7 },
          to: { color: '#57bf6d', width: 10 },
          // Set default step function for all animate calls
          step: function(state, circle) {
            circle.path.setAttribute('stroke', state.color);
            circle.path.setAttribute('stroke-width', state.width);

            var value = Math.round(circle.value() * 5);
            if (value === 0) {
              circle.setText('');
            } else {
              circle.setText( value +' / 5');
            }

          }
        });
        bar.text.style.fontFamily = '"Montserrat", Helvetica, sans-serif';
        bar.text.style.fontSize = '2rem';

        var newvalue = 2;
        bar.animate( newvalue * 0.2);  // Number from 0.0 to 1.0
        }

        DrawCircle();
        });
     </script>
     <?php
        echo cat_cart_count( 22 ). "<span> ud af 5 samples </span>";
        echo "<br>Total: ".$woocommerce->cart->get_cart_total();

}
}
add_shortcode( 'cart_count', 'get_cart_count' );

1 个答案:

答案 0 :(得分:0)

您可以执行以下任务以获得确切的问题,

  1. 只需执行AsyncTask并评论整个剩余代码。所以你实际上可以知道,AsyncTask是否合适。
  2. 当所有其他任务完成后,尝试最后执行AsyncTask
  3. 尝试优化您的活动以摆脱缓慢的表现。