我在写小说阅读器,把每个打开的文件的内容读到内存,因为小说都很小,所以放在内存不怕太大,但是我如果打开了一本小说,再打开一本,我不会把先打开的小说的内容清除掉,在内存。所以一旦我打开多小说的时候,内存就会用比较多,这样觉得不好,不过垃圾wr给我们一个事件,这个我会在下面说。
我们很多应用会在前台用很多资源,例如我们的界面,在转入后台可以清理很多资源,如果判断用户不是马上就转回的,我们可以用新的EnteredBackground
使用简单。在我的小说里面有写,我来看看我是怎么写。
在我们的App()
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
EnteredBackground += App_EnteredBackground;
LeavingBackground += App_LeavingBackground;
}
private void App_LeavingBackground(object sender, LeavingBackgroundEventArgs e)
{
_areBackground = false;
}
private void App_EnteredBackground(object sender, EnteredBackgroundEventArgs e)
{
_areBackground = true;
}
private bool _areBackground;
如果你应用没有EnteredBackground ,更新sdk 14393
如果安装了,可以修改你的文件<TargetPlatformVersion>10.0.14393.0</TargetPlatformVersion>
我们判断在我们进入后台清理我们的内存,因为小说经常不是后台就不用,我们就把我们现在使用的小说打开,其他打开小说放在内存资源全删,很简单,但是我们看官方建议是不GC.Collect();
private void App_EnteredBackground(object sender, EnteredBackgroundEventArgs e)
{
_areBackground = true;
var account = AccountGoverment.View.Account;
if (account != null)
{
foreach (var temp in account.File.Where(temp => temp != AccountGoverment.View.File))
{
temp.Str = null;
}
}
}
我们对于内存,还有在我们使用缓存,判断我们应用使用内存,垃圾wr给我们两个事件,需要我们用sdk 14393,我觉得垃圾wr这样不好,才半年就改
MemoryManager
给我们几个属性,AppMemoryUsage
获取应用程序当前的内存使用率, AppMemoryUsageLevel
获取应用程序当前的内存使用率级别,AppMemoryUsageLimit
获取应用程序当前的内存使用率限制,都是只读,我们可以获取这些值来得到我们应用是不是占用太多内存。
AppMemoryUsageLimitChanging
应用限制最大内存,在我们应用转入后台,我们的内存限制就会变化,然而还有很多诡异的也会让我们内存限制变化,我们可以根据内存变化,清理缓存
AppMemoryUsageIncreased
我们在我们开始缓存需要我们的内存应用等级,这个事件是内存使用等级,假如我们的内存等级从小到大,那么发生,一旦发生我们就要检查我们是否清理
AppMemoryUsageDecreased
我们应用内存等级下降,在我们使用内存从大到小使用,这个在我们清理很多缓存可以让我们知道不用清理,一般用是在AppMemoryUsageIncreased
有个任务CleanTask,把我们的缓存清理,然后我们有个bool,一旦AppMemoryUsageDecreased
我们就设为true,那么我们的CleanTask判断true就停下。
源代码:https://github.com/lindexi/NovelRead
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
全选设置之后UWP即可访问localhost,可以走代理。
在Windows 10操作系统中,开发人员可以利用通用Windows平台(UWP)应用程序接口来实现对Wi-Fi网络的各种操作,包括刷新Wi-Fi列表、获取Wi-Fi信息以及连接到Wi-Fi网络。UWP提供了丰富的API集,使得开发者能够在安全且...
Win10 UWP 开发教程 课程 资源 80课时 课程地址:http://blog.csdn.net/shanguuncle/article/details/78111649
UWP(Universal Windows Platform,通用Windows平台)应用设计规范是微软为开发者提供的关于如何设计在所有基于Windows 10的设备上运行良好的用户界面的一套指导原则。这包括从手机、平板电脑到个人电脑和Surface ...
在Windows 10平台上开发UWP(Universal Windows Platform)应用时,MVVM(Model-View-ViewModel)设计模式被广泛采用,它可以帮助开发者创建出松耦合、可测试且易于维护的代码。本文将深入介绍如何使用一个轻量级的...
在IT行业中,UWP(Universal Windows Platform)应用是微软为Windows 10及更高版本操作系统设计的一种现代化应用程序框架。这些应用程序具有跨设备兼容性,并且能够利用Windows平台的各种特性和功能。然而,当涉及到...
在Windows 10 UWP应用开发中,常常需要创建一种用户友好的交互方式,即当用户右键点击某个元素时,能在一个特定的位置显示一个浮出菜单(MenuFlyout)。本篇文章将详细介绍如何使用C#实现这样的功能,使得MenuFlyout...
但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上...
1、什么是本地回环 2、开启本地回环访问权限 3、删除本地回环访问权限 4、查看可以拥有访问本地回环代理的应用列表 5、获取 UWP 应用的 SID 或者 Pa
title: "win10 uwp 字符文本转语音声音文件方法"在 UWP 中,支持将传入的字符串文本内容转换为音频语音,可以将这个语音声音通过 MediaEl
但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上安装...
将桌面应用转换为Windows 10的UWP(通用Windows平台)应用,是现代软件开发的一个重要方向,因为UWP提供了跨设备兼容性、安全性和更丰富的功能集。以下是将桌面应用迁移到UWP时需要注意的关键点: 1. **只读安装...
在本文中,我们将探讨如何利用Windows 10的UWP(通用Windows平台)应用程序与ASP.NET Core构建一个图床服务器的客户端。这是一个涉及到跨平台开发和云端图像存储管理的项目,旨在提供一种高效且灵活的方式来上传和...
如果需要反过来,把同步转异步,可以使用 同步方法转异步写你的代码使用Task.Wait 时需要小心死锁不会出现死锁的代码使用Task.Delay等待即使使用方法
通用Windows平台(UWP)是微软为Windows 10操作系统推出的一种应用程序开发框架。UWP应用旨在提供跨设备兼容性,可以在各种Windows 10设备上运行,包括桌面、手机、平板电脑、Xbox、Hololens等。"UWP应用示例"是一个...
【标题】"MVA(视频XML字幕转srt字幕)UWP应用"涉及到的主要技术领域是视频处理和字幕格式转换,尤其关注的是XML字幕与SRT字幕之间的转换,以及如何在UWP(Universal Windows Platform,通用Windows平台)环境下实现...
作为核心版的一部分,UWP 现提供了一个可供在每个运行 Windows 10 的设备上使用的通用应用平台。借助此次突破,面向 UWP 的 应用不仅可以调用对所有设备均通用的 WinRT API,还可以调用特定于要运行应用的设备系列的...
win10 moblie uwp qq5.6.1150.1000主程序,不含依赖程序
win10应用商店安装包,Microsoft.WindowsStore_11804.1001.913.0_neutral_~_8wekyb3d8bbwe,可用于不带应用商店的安装
在这个“Xamarin.Forms构建Windows10通用应用程序(UWP)”的主题中,我们将深入探讨如何利用Xamarin.Forms的技术特性来构建能够在Windows 10上运行的通用Windows平台(Universal Windows Platform,简称UWP)应用。...