Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows应用商店应用程序大量内存使用/内存泄漏_C#_Memory Leaks_Windows Store Apps_Winrt Xaml_Ram - Fatal编程技术网

C# Windows应用商店应用程序大量内存使用/内存泄漏

C# Windows应用商店应用程序大量内存使用/内存泄漏,c#,memory-leaks,windows-store-apps,winrt-xaml,ram,C#,Memory Leaks,Windows Store Apps,Winrt Xaml,Ram,在本地运行WACK(Windows应用程序认证工具包)后,我的应用程序崩溃和挂起测试失败(似乎是因为“启动”不够快,没有“崩溃或挂起”),因此重构了一些启动代码以确保更快的启动时间 我的应用程序通过了本地测试 但后来我注意到,我的c#xaml win 8.1商店应用程序启动时,不知何故导致了一个奇怪的巨大的内存泄漏/问题。。。i、 e void OnLaunched(LaunchActivatedEventArgs args); 任务管理器中显示的约为200MB,在导致应用程序崩溃之前,会迅速

在本地运行WACK(Windows应用程序认证工具包)后,我的应用程序崩溃和挂起测试失败(似乎是因为“启动”不够快,没有“崩溃或挂起”),因此重构了一些启动代码以确保更快的启动时间

我的应用程序通过了本地测试

但后来我注意到,我的c#xaml win 8.1商店应用程序启动时,不知何故导致了一个奇怪的巨大的内存泄漏/问题。。。i、 e

void OnLaunched(LaunchActivatedEventArgs args);
任务管理器中显示的约为200MB,在导致应用程序崩溃之前,会迅速增加到~1.5GB

我尝试使用VS2013性能和诊断工具,试图找出我到底是如何完全破坏我的应用程序的。看到大约100个用户使用了最初的~200MB

RuntimeTypeCache 
对象,然后稍后(0.7-1.5 GB及以上的乐趣阶段)a

列表
里面有各种各样的类型

我一直尝试注释代码,直到App.xaml.cs文件除了注释之外什么都不做

this.InitializeComponent()

没有快乐

我检查了Package.appxmanifest并删除了所有不必要的内容

删除了引用注释掉了代码,直到该应用程序本质上是一个空的prism MVVM win store应用程序-什么也不做。。。还是从200MB开始


到底发生了什么事

解决了这个问题,并认为这个答案可能会帮助其他人摆脱困境

似乎我曾经尝试帮助解决启动时间问题的一个性能评测工具已经连接到我的应用程序
,并且实际上导致了大量内存使用和随后的崩溃

我不确定是哪个,但我用了

  • 古怪-不太可能
  • Visual Studio 2013(性能和诊断)-可能
  • 应用程序验证程序(C:\Windows\System32中的appverif.exe-根据WACK上的建议 解决崩溃和挂起的文档)
  • 我的猜测是3,但这基本上是一个未知的猜测

    I通过重命名.exe解决了此问题,即更改

    <AssemblyName>MyNEWAppName</AssemblyName>
    
    MyNEWAppName
    
    在MyAppName.csproj中

    在此之后,应用程序恢复了正常的内存使用(只是我看到的200MB-1.7GB内存的一小部分)

    <AssemblyName>MyNEWAppName</AssemblyName>