Skip to content

性能测试流程

xuwhale6 edited this page Dec 12, 2019 · 4 revisions

MLN性能测试,需要关闭debug开关、使用编译后的lua二进制代码。避免debug影响性能。

测试流程

测试“灵感集”二级页性能,流程如下:

  1. 克隆远程库 git clone https://github.com/momotech/MLN,并在Android Studio中打开MLN/MLN-Android目录
  2. 找到sample/src/main/java/com/immomo/demo/App.java目录,在MLSEngine初始化时,将debug参数设置为false
  3. 运行release版的sample工程,如下图:
  4. 进入app后,点击“Demo工程”按钮。点击“发现页”的cell的图片,即可进入二级页,开始测试。
提示:
* sample中的美丽说代码,已经是二进制.lua文件。目录为:sample/src/main/assets/gallery
* 美丽说源码目录:sample/src/main/assets/gallerySource

FPS测试

  1. 测试前,将列表向下滑加载出足够多的数据,然后滑回到列表顶部(避免加载动画干扰)
  2. 执行python sample/src/main/assets/fps.py 命令。内部运行adb指令。自动滑动25次,打印卡帧比数据。 如下图:

加载速度测试

  1. 在sample工程中,打开LuaViewActivity.java文件,在onCreate()方法第一行加入如下代码:
final long startTime = System.currentTimeMillis();
getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        Log.d("MLN test", "onGlobalLayout: " + (System.currentTimeMillis() - startTime));
    }
});
  1. 给instance对象,设置监听,代码如下:
instance.setScriptStateListener(new ScriptStateListener() {
    @Override
    public void onSuccess() {
        Log.d("MLN test", "onSuccess: " + (System.currentTimeMillis() - startTime));
    }
    @Override
    public void onFailed(Reason reason) {}
});
  1. MLN的页面加载过程为:页面创建 -> MLN虚拟机运行 -> window布局完成。监听的时机是:虚拟机onSuccess()回调后,onGlobalLayout()回调。
  2. 提示:为了避免数据加载影响,数据延迟了200ms请求。测试结果如下图:

内存测试

使用Android Studio自带的profiler工具测试。点击查看使用教程

Clone this wiki locally