我想知道 .cpuprofile 文件格式是否有任何(非)官方规范,这是在基于 Chromium 的浏览器的开发人员工具中使用 JavaScript 分析时生成的。
它是纯文本 JSON,因此很容易获取调用树数据,但我不明白如何获取每个函数的计时信息。
我也对每个函数的命中数感兴趣。
我有一个简单的JavaScript代码,在无限运行时消耗内存.内存消耗由Google Chrome内存分析器监控.
setInterval(function(){
var xhr = new XMLHttpRequest();
xhr.open('GET', 'json.txt', true);
xhr.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
};
xhr.send('');
}, 500);
Run Code Online (Sandbox Code Playgroud)
带有上面代码示例的Html文件并json.txt托管在我的本地服务器上,获取文件的时间不超过500毫秒(总是大约7-10毫秒).
在很长一段时间内,内存图看起来就像那样

编辑一小时工作后的同一个Chrome窗口

编辑 从长远来看(小时)并非所有内存都被回收,图形仍然在升序.我理解为什么内存被消耗,我不明白为什么它没有完全回收.
编辑 这是我如何减少内存泄漏
var callback = function(){
if(this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
}
setInterval(function(){
var xhr = new XMLHttpRequest();
xhr.open('GET', 'json.txt', true);
xhr.onreadystatechange = callback;
xhr.send('');
}, 500);
Run Code Online (Sandbox Code Playgroud)
这种改进允许不将回调的闭包链接到xhrvar.
我使用VideoView从URL播放音频.我的代码如下:
Uri video = Uri.parse(url[i]);
vv.setVideoURI(video);
vv.setMediaController(mediaController);
vv.start();
Run Code Online (Sandbox Code Playgroud)
我想在后台播放音频.怎么实现呢?
我编写了简单的客户端服务器套接字编程代码如下
MyServer.java
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args){
ServerSocket serverSocket = null;
Socket socket = null;
DataInputStream dataInputStream = null;
DataOutputStream dataOutputStream = null;
try {
serverSocket = new ServerSocket(8888);
System.out.println("Listening :8888");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true){
try {
socket = serverSocket.accept();
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream = new DataOutputStream(socket.getOutputStream());
System.out.println("ip: " + socket.getInetAddress());
System.out.println("message: " + dataInputStream.readUTF());
dataOutputStream.writeUTF("Hello!"); …Run Code Online (Sandbox Code Playgroud)