• 2024-06-02Microsoft.Extensions.DependencyInjection会自动释放通过DI(依赖注入)创建的对象
    Microsoft.Extensions.DependencyInjection中(下面简称DI),在调用ServiceProvider和IServiceScope对象的Dispose()方法时,也会自动调用ServiceProvider和IServiceScope对象通过DI创建的对象的Dispose()方法(前提是,通过DI创建的对象实现了IDisposable接口)。我们新建一个.NETCore控制台
  • 2024-05-26C# 资源回收
    在C#中,资源主要分为托管资源(ManagedResources)和非托管资源(UnmanagedResources)。了解这两种资源的区别对于正确实现IDisposable接口和确保资源得到合理管理是非常重要的。托管资源(ManagedResources)托管资源是由.NET运行时直接管理的资源。这些资源通常由.NET框架提供,例如:字
  • 2024-05-03析构方法和垃圾回收器
    //垃圾回收机制://回收非托管资源--Windows窗口句柄,数据库的链接,GDI对象,独占文件锁等等对象//1.Dispose()需要实现IDisposable接口//2.Close()和Dispose()的区别--Close关闭对象,没有完全释放(可以再次使用)。Dispose完全释放(再次使用重新创建)。//析构方法//
  • 2024-04-03c#非托管资源释放
    前言 c#一般使用托管内存,不用担心资源释放问题。但如果调用操作系统资源,比如文件、窗口的句柄,数据库及网络连接;或者PInvoke调用C++的库。此时,需要程序员手动对这些资源进行管理。其中IDisposable接口,终结器,可以帮助我们封装这一释放过程。官方示例 微软的官方文档如下。
  • 2024-03-07Blazor笔记-Component stages/life cycle
    更新记录注意:非教程。纯笔记,日常查询用的。需要教程的小伙伴找几本书看看即可哈哈,有Vue基础的话非常快,概念都是通的。非工作需要不建议深入学习Blazor,深入Vue吧,用的多,哈哈。完整目录地址:https://www.cnblogs.com/cqpanda/p/17596348.html点击查看2024年3月7日发布。2023
  • 2024-03-04flutter动画— —显式动画
    常见的显式动画有RotationTransition、FadeTransition、ScaleTransition、SlideTransition、AnimatedIcon。在显示动画中开发者需要创建一个AnimationController,通过AnimationController控制动画的开始、暂停、重置、跳转、倒播等。RotationTransition(旋转动画)、AnimationC
  • 2024-02-18v-if后的echarts显示已有dom解决方法
    控制台报错:Thereisachartinstancealreadyinitializedonthedom. 核心思路:先判断dom是否存在,如存在就调用销毁方法,再初始化正常操作。echarts内:if(this.myChart!=null&&this.myChart!=""&&this.myChart!=undefined
  • 2024-02-02quickjs-emscripten webassembly 包
    quickjs-emscripten是基于emscripten将quickjsc版本,编译为了webassembly方便通过npm使用包含的特性支持node以及web使用安全的执行js(支持到es2020)quickjsruntime进行创建以及维护值暴露主机函数到quickjsruntime通过asyncify支持执行异步代码参考使用app.mjs
  • 2024-01-16chewie 视频播放器使用
    基本使用1import'package:flutter/material.dart';import'package:video_player/video_player.dart';import'package:chewie/chewie.dart';classVideoPlayerScreenextendsStatefulWidget{@override_VideoPlayerScreenStatecrea
  • 2024-01-13绘制字体
    垂直绘制字体 protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);Graphicsg=e.Graphics;//g.SmoothingMode=SmoothingMode.AntiAlias;//搞锯齿呈显BrushgreenBrush=newSolidBru
  • 2023-12-23Flutter 显式动画
    创建AnimationController的同时,也赋予了一个vsync参数。vsync的存在防止后台动画消耗不必要的资源。您可以通过添加SingleTickerProviderStateMixin到类定义,将有状态的对象用作vsync因为addListener()函数调用setState(),所以每次Animation生成一个新的数字,当前帧
  • 2023-11-29.NET 6 新东西 --PeriodicTimer
    在.NET6中引入了新Timer:System.Threading.PeriodicTimer,它和之前的Timer相比,最大的区别就是新的PeriodicTimer事件处理可以方便地使用异步,消除使用callback机制减少使用复杂度。讲解PeriodicTimer之前我们先来看以下该怎么使用它:usingvarcts=newCancellationTok
  • 2023-10-29Waste dispose
    At present, China's urban waste is growing at an annual rate of 8% to 9%, and the annual per capita urban household waste production is about 450 to 500kg. Although China's urban solid waste treatment has achieved certain
  • 2023-10-09.Net析构函数再论(CLR源码级的剖析)
    前言碰到一些问题,发觉依旧没有全面了解完全析构函数。本篇继续看下析构函数的一些引申知识。概述析构函数目前发现的总共有三个标记,这里分别一一介绍下。先上一段代码:internalclassProgram:IDisposable{staticvoidMain(string[]args){StreamReader?
  • 2023-09-30Aveva Marine VBNET 编程系列-封装一个类
    由于AM的marapi的大部分类实现了IDisposable接口,所有避免内存过大,用了一般需要dispose下微软官方的解释:https://learn.microsoft.com/zh-cn/dotnet/api/system.idisposable?view=net-7.0 以下是MarDrafting类的定义,很显然它实现了IDisposable接口 ImportsSystem.Reflec
  • 2023-09-11.NET C#基础(9):资源释放 - 需要介入的资源管理
    1.什么是IDisposable?  IDisposable接口是一个用于约定可进行释放资源操作的接口,一个类实现该接口则意味着可以使用接口约定的方法Dispose来释放资源。其定义如下:publicinterfaceIDisposable{voidDispose();}  上述描述中可能存在两个问题:  1.什么是“资源
  • 2023-09-04C#中单例模板
    泛型单例/***泛型单例模板where限制这个单例类必须要能被new出来*/publicclassSingleton<T>:IDisposablewhereT:new(){privatestaticTinstance;publicstaticTInstance{get{if(instance==null)instance=new
  • 2023-08-28TypeScript – Using Disposable
    前言TypeScriptv5.2多了一个新功能叫 Disposable。Dispose的作用是让"对象"离开"作用域"后做出一些"释放资源"的操作。很多地方都可以看到 Dispose概念。比如WebComponent的 disconnectedCallback,Angular组件的 ngOnDestroy。而对象释放资源在其它面向对象
  • 2023-08-24深入理解C#中的IDisposable接口
      在开始之前,我们需要明确什么是C#(或者说.NET)中的资源,打码的时候我们经常说释放资源,那么到底什么是资源,简单来讲,C#中的每一种类型都是一种资源,而资源又分为托管资源和非托管资源,那这又是什么?!  托管资源:由CLR管理分配和释放的资源,也就是我们直接new出来的对象;  非托管资
  • 2023-08-04C#中CLR核心机制解析:垃圾回收与标准Dispose模式
    一、CLR核心机制1.1-创建对象的流程分配内存把对象传入到构造函数构造函数使用当前实例返回1.2-什么是堆/栈?堆-Heap:托管堆;一个程序运行时,该进程存放引用类型变量的一块内存,他是全局唯一的。栈-Stack:先进后出数据结构,线程栈;每一个线程存放变量和值类型的内存,随着线程
  • 2023-07-03避坑:.NET内存泄露的几种情况
    内存“泄露”是开发中常见的问题之一,它会导致应用程序占用越来越多的内存资源,最终可能导致系统性能下降甚至崩溃。软件开发者需要了解在程序中出现内存泄露的情况,以避免软件出现该的问题。什么是内存“泄露”?内存泄露是申请了内存空间的变量一直在占用,无法释放。比如申请了一块
  • 2023-06-27TypeScript又出新关键字了?
    TypeScript5.2将引入一个新的关键字:using。当它离开作用域时,你可以用Symbol.dispose函数来处置任何东西。{constgetResource=()=>{return{[Symbol.dispose]:()=>{console.log('Hooray!')}}}usingresource=getResource();
  • 2023-06-26SafeHandle 和 Dispose
    SafeHandle和Dispose这是从https://www.cnblogs.com/zeroone/p/3708112.html复制过来的,原文的格式不够好,重新排版一下。SafeHandle最大的意义是封装一个托管资源且本身会执行.NET中的资源释放模式(所谓的DisposePattern),这样,开发者在使用非托管资源时,不需要执行繁琐的资源释
  • 2023-06-06Flutter音频播放之just_audio
    just_audio的使用just_audio,它是一个用于播放音频的Flutter插件。安装和导入just_audio要使用just_audio库,需要将其添加到项目的pubspec.yaml文件中:dependencies:just_audio:^0.9.34然后运行以下命令以安装该库:flutterpubget要使用just_audio,需要在代码中
  • 2023-04-14C# 发起网络请求
     publicclassCWebRequest  {    //从URL读取内容    //流程:创建网络请求对象→获取响应→获取响应流→从响应留读取字符串    //流程:WebRequest→WebResponse→Stream→StreamReader→ReadToEnd    publicstringGetResponseContent(stri