问题

今天在Android端调用python文件,然后发现调用python这一部分的代码很慢,甚至一度接近8s
最后发现python某一行的代码运行时间将近7s,如下所示:

data=numpy.array(signals)   
//signals 是java调用python函数时传进去的数组
//data 是将signals转化为numpy的ndarray型数据

分析

问题出在传进去的参数 量大 且 类型不友善(需要转化为ndarray)

解决

  1. 先在调用python文件前,将参数数据利用java字符流以txt文本形式存到本地
  2. 接着调用python函数时传入的参数不是数组而是文件名
  3. 最后在python里读取该文件,使用如下代码:
data=numpy.loadtxt(signalPath)

最后

调用python文件部分的代码仅1s内就能执行完

更多推荐