当前位置: 首页>>代码示例>>Java>>正文


Java TraceCompat类代码示例

本文整理汇总了Java中android.support.v4.os.TraceCompat的典型用法代码示例。如果您正苦于以下问题:Java TraceCompat类的具体用法?Java TraceCompat怎么用?Java TraceCompat使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


TraceCompat类属于android.support.v4.os包,在下文中一共展示了TraceCompat类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onDataFetcherReady

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
@Override
public void onDataFetcherReady(Key sourceKey, Object data, DataFetcher<?> fetcher,
    DataSource dataSource, Key attemptedKey) {
  this.currentSourceKey = sourceKey;
  this.currentData = data;
  this.currentFetcher = fetcher;
  this.currentDataSource = dataSource;
  this.currentAttemptingKey = attemptedKey;
  if (Thread.currentThread() != currentThread) {
    runReason = RunReason.DECODE_DATA;
    callback.reschedule(this);
  } else {
    TraceCompat.beginSection("DecodeJob.decodeFromRetrievedData");
    try {
      decodeFromRetrievedData();
    } finally {
      TraceCompat.endSection();
    }
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:21,代码来源:DecodeJob.java

示例2: endSection

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
public static float endSection(String section) {
  if (depthPastMaxDepth > 0) {
    depthPastMaxDepth--;
    return 0;
  }
  if (!traceEnabled) {
    return 0;
  }
  traceDepth--;
  if (traceDepth == -1) {
    throw new IllegalStateException("Can't end trace section. There are none.");
  }
  if (!section.equals(sections[traceDepth])) {
    throw new IllegalStateException("Unbalanced trace call " + section +
        ". Expected " + sections[traceDepth] + ".");
  }
  TraceCompat.endSection();
  return (System.nanoTime() - startTimeNs[traceDepth]) / 1000000f;
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:20,代码来源:L.java

示例3: bindViewHolder

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
/**
 * This method internally calls {@link #onBindViewHolder(ViewHolder, int)} to update the
 * {@link ViewHolder} contents with the item at the given position and also sets up some
 * private fields to be used by RecyclerView.
 *
 * @see #onBindViewHolder(ViewHolder, int)
 */
public final void bindViewHolder(VH holder, int position) {
    holder.mPosition = position;
    if (hasStableIds()) {
        holder.mItemId = getItemId(position);
    }
    holder.setFlags(ViewHolder.FLAG_BOUND,
            ViewHolder.FLAG_BOUND | ViewHolder.FLAG_UPDATE | ViewHolder.FLAG_INVALID
                    | ViewHolder.FLAG_ADAPTER_POSITION_UNKNOWN);
    TraceCompat.beginSection(TRACE_BIND_VIEW_TAG);
    onBindViewHolder(holder, position, holder.getUnmodifiedPayloads());
    holder.clearPayload();
    final ViewGroup.LayoutParams layoutParams = holder.itemView.getLayoutParams();
    if (layoutParams instanceof RecyclerView.LayoutParams) {
        ((LayoutParams) layoutParams).mInsetsDirty = true;
    }
    TraceCompat.endSection();
}
 
开发者ID:DrKLO,项目名称:Telegram,代码行数:25,代码来源:RecyclerView.java

示例4: encode

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
void encode(DiskCacheProvider diskCacheProvider, Options options) {
  TraceCompat.beginSection("DecodeJob.encode");
  try {
    diskCacheProvider.getDiskCache().put(key,
        new DataCacheWriter<>(encoder, toEncode, options));
  } finally {
    toEncode.unlock();
    TraceCompat.endSection();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:11,代码来源:DecodeJob.java

示例5: consumePendingUpdateOperations

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
/**
 * Helper method reflect data changes to the state.
 * <p>
 * Adapter changes during a scroll may trigger a crash because scroll assumes no data change
 * but data actually changed.
 * <p>
 * This method consumes all deferred changes to avoid that case.
 */
private void consumePendingUpdateOperations() {
    if (!mFirstLayoutComplete) {
        // a layout request will happen, we should not do layout here.
        return;
    }
    if (mDataSetHasChangedAfterLayout) {
        TraceCompat.beginSection(TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG);
        dispatchLayout();
        TraceCompat.endSection();
        return;
    }
    if (!mAdapterHelper.hasPendingUpdates()) {
        return;
    }

    // if it is only an item change (no add-remove-notifyDataSetChanged) we can check if any
    // of the visible items is affected and if not, just ignore the change.
    if (mAdapterHelper.hasAnyUpdateTypes(UpdateOp.UPDATE) && !mAdapterHelper
            .hasAnyUpdateTypes(UpdateOp.ADD | UpdateOp.REMOVE | UpdateOp.MOVE)) {
        TraceCompat.beginSection(TRACE_HANDLE_ADAPTER_UPDATES_TAG);
        eatRequestLayout();
        mAdapterHelper.preProcess();
        if (!mLayoutRequestEaten) {
            if (hasUpdatedView()) {
                dispatchLayout();
            } else {
                // no need to layout, clean state
                mAdapterHelper.consumePostponedUpdates();
            }
        }
        resumeRequestLayout(true);
        TraceCompat.endSection();
    } else if (mAdapterHelper.hasPendingUpdates()) {
        TraceCompat.beginSection(TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG);
        dispatchLayout();
        TraceCompat.endSection();
    }
}
 
开发者ID:MLNO,项目名称:airgram,代码行数:47,代码来源:RecyclerView.java

示例6: onLayout

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
    TraceCompat.beginSection(TRACE_ON_LAYOUT_TAG);
    dispatchLayout();
    TraceCompat.endSection();
    mFirstLayoutComplete = true;
}
 
开发者ID:MLNO,项目名称:airgram,代码行数:8,代码来源:RecyclerView.java

示例7: createViewHolder

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
/**
 * This method calls {@link #onCreateViewHolder(ViewGroup, int)} to create a new
 * {@link ViewHolder} and initializes some private fields to be used by RecyclerView.
 *
 * @see #onCreateViewHolder(ViewGroup, int)
 */
public final VH createViewHolder(ViewGroup parent, int viewType) {
    TraceCompat.beginSection(TRACE_CREATE_VIEW_TAG);
    final VH holder = onCreateViewHolder(parent, viewType);
    holder.mItemViewType = viewType;
    TraceCompat.endSection();
    return holder;
}
 
开发者ID:MLNO,项目名称:airgram,代码行数:14,代码来源:RecyclerView.java

示例8: bindViewHolder

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
/**
 * This method internally calls {@link #onBindViewHolder(ViewHolder, int)} to update the
 * {@link ViewHolder} contents with the item at the given position and also sets up some
 * private fields to be used by RecyclerView.
 *
 * @see #onBindViewHolder(ViewHolder, int)
 */
public final void bindViewHolder(VH holder, int position) {
    holder.mPosition = position;
    if (hasStableIds()) {
        holder.mItemId = getItemId(position);
    }
    holder.setFlags(ViewHolder.FLAG_BOUND,
            ViewHolder.FLAG_BOUND | ViewHolder.FLAG_UPDATE | ViewHolder.FLAG_INVALID
                    | ViewHolder.FLAG_ADAPTER_POSITION_UNKNOWN);
    TraceCompat.beginSection(TRACE_BIND_VIEW_TAG);
    onBindViewHolder(holder, position, holder.getUnmodifiedPayloads());
    holder.clearPayload();
    TraceCompat.endSection();
}
 
开发者ID:MLNO,项目名称:airgram,代码行数:21,代码来源:RecyclerView.java

示例9: createViewHolder

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
public final VH createViewHolder(ViewGroup parent, int viewType) {
    TraceCompat.beginSection(RecyclerView.TRACE_CREATE_VIEW_TAG);
    VH holder = onCreateViewHolder(parent, viewType);
    holder.mItemViewType = viewType;
    TraceCompat.endSection();
    return holder;
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:8,代码来源:RecyclerView.java

示例10: bindViewHolder

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
public final void bindViewHolder(VH holder, int position) {
    holder.mPosition = position;
    if (hasStableIds()) {
        holder.mItemId = getItemId(position);
    }
    holder.setFlags(1, 519);
    TraceCompat.beginSection(RecyclerView.TRACE_BIND_VIEW_TAG);
    onBindViewHolder(holder, position, holder.getUnmodifiedPayloads());
    holder.clearPayload();
    TraceCompat.endSection();
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:12,代码来源:RecyclerView.java

示例11: consumePendingUpdateOperations

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
private void consumePendingUpdateOperations() {
    if (!this.mFirstLayoutComplete) {
        return;
    }
    if (this.mDataSetHasChangedAfterLayout) {
        TraceCompat.beginSection(TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG);
        dispatchLayout();
        TraceCompat.endSection();
    } else if (!this.mAdapterHelper.hasPendingUpdates()) {
    } else {
        if (this.mAdapterHelper.hasAnyUpdateTypes(4) && !this.mAdapterHelper.hasAnyUpdateTypes(11)) {
            TraceCompat.beginSection(TRACE_HANDLE_ADAPTER_UPDATES_TAG);
            eatRequestLayout();
            this.mAdapterHelper.preProcess();
            if (!this.mLayoutRequestEaten) {
                if (hasUpdatedView()) {
                    dispatchLayout();
                } else {
                    this.mAdapterHelper.consumePostponedUpdates();
                }
            }
            resumeRequestLayout(true);
            TraceCompat.endSection();
        } else if (this.mAdapterHelper.hasPendingUpdates()) {
            TraceCompat.beginSection(TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG);
            dispatchLayout();
            TraceCompat.endSection();
        }
    }
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:31,代码来源:RecyclerView.java

示例12: beginSection

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
public static void beginSection(String section) {
  if (!traceEnabled) {
    return;
  }
  if (traceDepth == MAX_DEPTH) {
    depthPastMaxDepth++;
    return;
  }
  sections[traceDepth] = section;
  startTimeNs[traceDepth] = System.nanoTime();
  TraceCompat.beginSection(section);
  traceDepth++;
}
 
开发者ID:airbnb,项目名称:lottie-android,代码行数:14,代码来源:L.java

示例13: onLayout

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4)
{
  eatRequestLayout();
  TraceCompat.beginSection("RV OnLayout");
  dispatchLayout();
  TraceCompat.endSection();
  resumeRequestLayout(false);
  this.mFirstLayoutComplete = true;
}
 
开发者ID:ChiangC,项目名称:FMTech,代码行数:10,代码来源:RecyclerView.java

示例14: setImageResource

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
public void setImageResource(@DrawableRes int drawableResourceId) {
    TraceCompat.beginSection("BLUR - setImageResource");
    mDrawableResourceId = drawableResourceId;
    Bitmap bitmap = BitmapUtils.getBitmap(getResources(), mDrawableResourceId);
    mDrawable = new BitmapDrawable(getResources(), bitmap);
    mImageView.setImageDrawable(mDrawable);
    updateBlur();
    TraceCompat.endSection();
}
 
开发者ID:IanGClifton,项目名称:auid2,代码行数:10,代码来源:CaptionedImageView.java

示例15: consumePendingUpdateOperations

import android.support.v4.os.TraceCompat; //导入依赖的package包/类
/**
 * Helper method reflect data changes to the state.
 * <p>
 * Adapter changes during a scroll may trigger a crash because scroll assumes no data change
 * but data actually changed.
 * <p>
 * This method consumes all deferred changes to avoid that case.
 */
void consumePendingUpdateOperations() {
    if (!mFirstLayoutComplete || mDataSetHasChangedAfterLayout) {
        TraceCompat.beginSection(TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG);
        dispatchLayout();
        TraceCompat.endSection();
        return;
    }
    if (!mAdapterHelper.hasPendingUpdates()) {
        return;
    }

    // if it is only an item change (no add-remove-notifyDataSetChanged) we can check if any
    // of the visible items is affected and if not, just ignore the change.
    if (mAdapterHelper.hasAnyUpdateTypes(AdapterHelper.UpdateOp.UPDATE) && !mAdapterHelper
            .hasAnyUpdateTypes(AdapterHelper.UpdateOp.ADD | AdapterHelper.UpdateOp.REMOVE
                    | AdapterHelper.UpdateOp.MOVE)) {
        TraceCompat.beginSection(TRACE_HANDLE_ADAPTER_UPDATES_TAG);
        eatRequestLayout();
        onEnterLayoutOrScroll();
        mAdapterHelper.preProcess();
        if (!mLayoutRequestEaten) {
            if (hasUpdatedView()) {
                dispatchLayout();
            } else {
                // no need to layout, clean state
                mAdapterHelper.consumePostponedUpdates();
            }
        }
        resumeRequestLayout(true);
        onExitLayoutOrScroll();
        TraceCompat.endSection();
    } else if (mAdapterHelper.hasPendingUpdates()) {
        TraceCompat.beginSection(TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG);
        dispatchLayout();
        TraceCompat.endSection();
    }
}
 
开发者ID:DrKLO,项目名称:Telegram,代码行数:46,代码来源:RecyclerView.java


注:本文中的android.support.v4.os.TraceCompat类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。