草庐IT

android内存分析

全部标签

javascript - 在javascript中查找内存使用的工具?

在Chrome任务管理器中,我注意到我的应用程序使用了大约75,000k内存,这似乎有点高。是否有一种工具可以显示内存中的对象,以便我可以识别我在哪里滥用对象,甚至可能泄漏内存? 最佳答案 在ChromeDOM检查器中,您可以单击Profiles->Snapshot。它让您了解页面的内存映射、什么使用多少等等,包括引用计数和对象大小。 关于javascript-在javascript中查找内存使用的工具?,我们在StackOverflow上找到一个类似的问题:

javascript - 用作 Jquery 回调时匿名函数与命名函数的内存开销

我正在学习JS/JQuery以及匿名函数和闭包。我见过这样的例子:$('.button').click(function(){/*Animations*//*OtherStuff*/});如果按钮不止一个,那岂不是效率低下?这不就是在内存中存储匿名函数原型(prototype)的相似副本吗?(纠正我的术语)这样做不是更好吗:functionhandleClick(){/*Animations*//*OtherStuff*/}('.button').click(handleClick);甚至这样,如果需要对按钮的引用:functionhandleClick($obj){/*Animati

javascript - knockout 映射插件中的奇怪内存泄漏

在View模型是使用knockout.mapping插件创建的情况下,无法弄清楚为什么处理计算的可观察对象不会从全局变量中删除订阅。首先让我们看看直接创建模型时会发生什么://Globalvariable.varEnvironment={currencyStr:ko.observable("usd.")};//Itemmodel,usedintensively.functionItemModel(price){varself=this;this.price=ko.computed(function(){//Computedissubscribedtoglobalvariable.ret

javascript - "creation phase"怎么知道设置多少内存空间呢?

在JavaScript:UnderstandingtheWeirdParts讲师解释说,变量的内存是在所谓的创建阶段设置的(并且undefined已分配);然后执行阶段发生。但是,当我们不知道变量稍后将指向什么值时,为什么这很有用呢?显然变量可以指向许多不同的东西——例如一个短字符串一直到一个深层嵌套的对象结构——我假设它们在所需的内存量上可能会有很大差异。如果逐行执行——包括变量赋值——只发生在后面的执行阶段,初始创建阶段怎么知道如何设置内存?或者,是否只为每个变量名称/值对中的名称预留内存,而对值的内存以不同方式管理? 最佳答案

javascript - Chrome 分析器 - 为什么功能有时会停止一小段时间?

这是ChromePerformanceDevtools捕获的我的网络执行的图片:我注意到函数在执行过程中会停止很多次,当我的网络函数停止时,Chrome会执行一些RegExp操作(如图所示)。我不明白这是什么,为什么会这样。请帮忙解释一下,谢谢。更新:这是一个同样以相同方式执行的函数: 最佳答案 你描述了什么您描述问题的方式听起来像是您认为JavaScript虚拟机在函数执行时(即在它们返回之前)暂停(停止它们)以执行其他操作,然后恢复函数。您显示的图像对我来说根本没有暗示。我看到了什么虚拟机执行:callback,调用一些名称被工

嵌套箭头函数的Javascript内存含义

考虑:functionf1(){functionn11(){..lotsofcode..};constn12=()=>{..lotsofcode..};returnn11()+n12()+5;}constf2=()=>{functionn21(){..lotsofcode..};constn22=()=>{..lotsofcode..};returnn21()+n22()+5;}我正在尝试了解调用f1和f2的内存含义。关于n11,thisanswer说:Forsomeverysmallandnormallyinconsequentialvalueof"wasted".JavaScrip

javascript - 使用带快照的 ESLint 进行静态分析

我们在公司中使用ESLint来检测错误,这些错误会破坏构建并阻止部署,但我们还有一些其他规则会在我们的控制台中触发一些警告。我们希望在时间轴上看到这些警告,这样我们就能够检查我们是否正在改善我们的技术债务。我试过了SonarEsLintPlugin在SonarQube中,但它在版本7+中无法正常工作有谁知道其他获取ESLint时间线快照的方法吗? 最佳答案 可以使用官方SonarJSplugin来自Sonar源。在最新的4.2版本中它支持ESLint问题的导入,参见documentationhere.它将允许跟踪您的技术债务,您还可

Javascript 内存泄漏 : why would assigning object to null work?

关于用于防止内存泄漏的空赋值修复的性质,有人可以为我挠痒痒吗?我们都熟悉以下技术来阻止DOM对象和JS对象之间的循环引用,以防止内存泄漏:functionfoo(){varele=document.getElementById("someParagraphId");ele.onclick=function(){//someactionhere};ele=null;}问题是为什么上面的方法会起作用?将“ele”设置为null肯定会停止循环引用,但它不会也阻止将来对“ele”的引用吗?functionfoo(){varele=document.getElementById("somePar

javascript - jQuery 内存泄漏怀疑

我正在为XML发出AJAX请求。我每秒都在这样做。我注意到我的内存使用量增长到数百兆字节。正如您所想象的,客户对此并不满意。在各个地方阅读之后,我怀疑函数闭包让我头疼。我正在寻找可以进行的任何验证以及有关如何修复它的任何帮助。functionPageManager(){varself=this;self.timeoutHandler=function(){$.ajax({url:'URLtoXML',type:'post',cache:false,context:self,success:function(data){varslf=this;varxmlDoc=$($.parseXML

javascript - 分析匿名 javascript 函数 (chrome)

当chrome中的性能分析匿名高使用率函数在调用树的根部列出时很难排除故障。有没有办法确定匿名函数首次实例化的位置? 最佳答案 您可以利用console.profile([label]),console.profileEnd(),console.time([label]),console.timeEnd([label]).例如,在控制台的JS片段中执行以下代码,然后查看anonynousfunction“自定义和控制DevTools>更多工具>JavaScript配置文件”下的执行配置文件。console.profile("anon