android注解注入AspectJ面向切面AOP插桩技术性能监测android原生类函数/方法运行耗时/时长(2)

android注解注入AspectJ面向切面AOP插桩技术性能监测android原生类函数/方法运行耗时/时长(2)

import android.util.Log;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

//一个切面
@Aspect
public class MyActivityAspect {
    @Pointcut("execution(void androidx.appcompat.app.AppCompatActivity+.onCreate(..))")
    public void activityOnCreate() {

    }

    @Around("activityOnCreate()")
    public Object activityOnCreateTime(ProceedingJoinPoint joinPoint) {
        Object object = null;

        long startTime = System.currentTimeMillis();
        try {
            object = joinPoint.proceed();
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        }

        Log.d("zhangphil","activity - onCreate: 耗时 "+(System.currentTimeMillis() - startTime));

        return object;
    }
}

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.SystemClock;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SystemClock.sleep(2500);
    }
}

输出:

android注解注入AspectJ面向切面AOP插桩技术,Java(1)_zhangphil的博客-CSDN博客android注解注入AspectJ面向切面AOP插桩技术,Java(1)通知注解例如,一个Before:切点匹配规则https://blog.csdn.net/zhangphil/article/details/129559632

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/129559160
今日推荐