4.3

一、后端性能优化

  1. 数据库优化
    索引优化:为高频查询字段添加索引
    sql
    CREATE INDEX idx_user_username ON tb_user(username);

分页查询:避免一次性查询大量数据
java
// Spring Data JPA分页查询
Pageable pageable = PageRequest.of(page, size, Sort.by("createTime").descending());
Page users = userRepository.findAll(pageable);

  1. 缓存机制
    集成 Redis:
    xml

    org.springframework.boot
    spring-boot-starter-data-redis

java
@Cacheable(value = "userCache", key = "#id")
public User getUserById(Long id) {
return userRepository.findById(id).orElse(null);
}

  1. 异步处理
    使用 @Async 注解实现异步方法
    java
    @Service
    public class EmailService {
    @Async
    public void sendVerificationEmail(String email, String content) {
    // 异步发送邮件,不阻塞主线程
    }
    }

二、Android 端性能优化

  1. 布局优化
    使用 ConstraintLayout 替代嵌套 LinearLayout
    移除冗余布局层级,使用标签合并
    使用 ViewStub 延迟加载非必须布局
  2. 图片加载优化
    使用 Glide 加载图片并设置缓存策略
    java
    Glide.with(context)
    .load(imageUrl)
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(imageView);

图片按需加载,列表滑动时暂停加载
3. 网络优化
合并网络请求,减少 HTTP 连接数
java
// 使用CompositeDisposable合并多个请求
CompositeDisposable compositeDisposable = new CompositeDisposable();
compositeDisposable.add(apiService.getUserInfo().subscribe(...));
compositeDisposable.add(apiService.getOrderList().subscribe(...));

数据压缩传输,后端返回 Gzip 格式响应
三、全链路性能监控

  1. 后端监控(Spring Boot Actuator)
    添加依赖:
    xml

    org.springframework.boot
    spring-boot-starter-actuator

配置暴露监控端点:
properties
management.endpoints.web.exposure.include=*

  1. Android 端监控
    使用 LeakCanary 检测内存泄漏
    通过 StrictMode 检测主线程耗时操作
    java
    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
    .detectDiskReads()
    .detectDiskWrites()
    .detectNetwork()
    .penaltyLog()
    .build());

四、性能测试工具
后端压力测试:
JMeter:模拟大量并发请求测试接口性能
Android 性能分析:
Android Profiler:监控 CPU、内存、网络使用情况
全链路追踪:
Skywalking/Elastic APM:追踪请求在前后端的耗时分布

posted @ 2025-04-03 21:54  李蕊lr  阅读(15)  评论(0)    收藏  举报