Skip to content

Instantly share code, notes, and snippets.

@lightai
lightai / java
Created February 25, 2020 16:52
android线程监测,排查性能问题
static class ThreadMonitor {
private void startThreadMonitor() {
final Thread mainThread = Thread.currentThread();
ThreadGroup threadGroup = mainThread.getThreadGroup();
final Thread[] allThread = new Thread[threadGroup.activeCount()];
threadGroup.enumerate(allThread);
final Map<Thread, ThreadStateTimeLine> timeLineMap = new HashMap<>(allThread.length);
for (Thread thread : allThread) {
timeLineMap.put(thread, new ThreadStateTimeLine(thread));
}
@lightai
lightai / AsyncLayoutInflater.java
Created January 10, 2018 12:39
AsyncLayoutInflater改进版本:解决Android support包下面的AsyncLayoutInflater不支持View创建Handler或者调用myLooper()方法的问题。
public final class AsyncLayoutInflater {
private static final String TAG = "AsyncLayoutInflater";
LayoutInflater mInflater;
Handler mHandler;
InflateThread mInflateThread;
public AsyncLayoutInflater(@NonNull Context context) {
mInflater = new BasicInflater(context);
mHandler = new Handler(mHandlerCallback);
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software