小编Ali*_*zam的帖子

VirtualMemorySize64和PrivateMemorySize64之间有什么区别

我不明白Process.PrivateMemorySize64Process.VirtualMemorySize64之间的区别

我创建了一个简单的控制台应用程序,它将10倍10兆字节分配给一个字节数组.

const int tenMegabyte = 1024*1024*10;
long allocatedMemory = 0;
List<byte[]> memory = new List<byte[]>();
for (int i = 0; i < 10; i++)
{
    allocatedMemory += tenMegabyte;
    Console.WriteLine("Allocated memory:    " + PrettifyByte(allocatedMemory));
    Console.WriteLine("VirtualMemorySize64: " + PrettifyByte(Process.GetCurrentProcess().VirtualMemorySize64));
    Console.WriteLine("PrivateMemorySize64: " + PrettifyByte(Process.GetCurrentProcess().PrivateMemorySize64));
    Console.WriteLine();
    memory.Add(new byte[tenMegabyte]);
}
Run Code Online (Sandbox Code Playgroud)

PrivateMemorySize64按照我的预期工作:它以一定的大小开始,并随着分配的内存而增长.

但VirtualMemorySize64似乎在一开始就分配了大量内存,即使对于一个控制台应用程序(180位为32位,560位为64位)

32位内存分配样本 32位内存分配样本

问题:

  • VirtualMemorySize的PrivateMemorySize是一部分吗?如果是这样,那么VirtualMemorySize的其余部分是什么?它只是保留内存,还是实际上是ram/page文件?
  • 为什么即使是一个简单的控制台应用程序也会分配超过500mb的VirtualMemory?
  • 如果我的应用程序使用1GB的PrivateMemorySize和20GB的VirtualMemorySize,我应该关心还是可以忽略它?
  • 为什么64位版本的程序分配了更多的VirtualMemory?

.net c# clr

6
推荐指数
1
解决办法
3671
查看次数

iOS:处理来自AVPlayer视频轨道的音频

我打算在我的iOS应用程序中重构我的录音系统.背景:到目前为止,我分别录制视频和音频,同时开始大致录制.一旦完成记录,同样的系统,我分别播放视频和音频,在音频上动态应用AudioUnits.最后,我合并了视频和修改过的音频.碰巧两个记录不会同时启动(出于任何原因),从而产生不同步的结果.

是否可以像这样重构我的系统:

1) Record normal video with audio into mov file --> I would be sure that audio+video would be synchronized.

2) During viewing the result with AVPlayer, process the audio part on the fly. (I will use AudioKit) --> that's the part I m not confident. 
   Would I be able to send the audio buffer to Audiokit (which would process it) and give back the processed audio to AVPlayer like if it was the original AVPlayer audio part?

3) …
Run Code Online (Sandbox Code Playgroud)

video audiounit ios avplayer audiokit

4
推荐指数
1
解决办法
736
查看次数

Vstest.console.exe找不到nunit测试

我有VS 2017和.net 4.6

在尝试使用vstest.console通过cmd提示符运行时:

vstest.console.exe bin\Release\Tests.dll /UseVsixExtensions:true
Run Code Online (Sandbox Code Playgroud)

我收到警告“ /bin/Release/test.dll确保已安装的测试发现程序和执行程序,平台和框架版本设置适当,然后再试一次”中没有可用的测试。

因此,我尝试列出测试,但未显示任何测试。

vstest.console.exe bin\Release\Tests.dll /ListTests /UseVsixExtensions:true
Run Code Online (Sandbox Code Playgroud)

单元测试类文件如下所示。

[TestFixture]
public class class1
    {
    static void StartTest(string[] args)
    {

    }

 [Test] [Category("Regression_Test")]   
    public void TS1()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用Google搜索类似问题,但是没有找到任何可行的方法。任何帮助都非常感谢

selenium nunit vstest.console.exe

4
推荐指数
1
解决办法
1687
查看次数

云功能Firestore中的Firebase-Admin软件包Typescript错误:@ types/googlemaps

我有两个具有类似Cloud Functions设置的项目,都直接使用类似于此示例示例的 Typescript设置(无Webpack)

其中一个使用Firestore,另一个则不使用.不使用Firestore的那个编译和部署没有错误.

然而,具有Firestore函数的那个​​在tsc编译时给出了这个错误:

../node_modules/@types/googlemaps/index.d.ts(33,29): error TS2304: Cannot find name 'Element'.
../node_modules/@types/googlemaps/index.d.ts(37,19): error TS2304: Cannot find name 'Element'.
../node_modules/@types/googlemaps/index.d.ts(54,28): error TS2304: Cannot find name 'Node'.
../node_modules/@types/googlemaps/index.d.ts(787,30): error TS2304: Cannot find name 'Element'.
../node_modules/@types/googlemaps/index.d.ts(798,36): error TS2304: Cannot find name 'Node'.
../node_modules/@types/googlemaps/index.d.ts(811,26): error TS2304: Cannot find name 'Node'.
../node_modules/@types/googlemaps/index.d.ts(1135,20): error TS2304: Cannot find name 'Element'.
../node_modules/@types/googlemaps/index.d.ts(1136,22): error TS2304: Cannot find name 'Element'.
../node_modules/@types/googlemaps/index.d.ts(1137,18): error TS2304: Cannot find name 'Element'.
../node_modules/@types/googlemaps/index.d.ts(1138,22): error TS2304: Cannot find name …
Run Code Online (Sandbox Code Playgroud)

firebase typescript google-cloud-functions google-cloud-firestore

3
推荐指数
2
解决办法
1489
查看次数

优化Angular 4网站供中国使用

我需要优化使用Azure作为数据库服务的Angular 4网站.看来,当该网站从中国开放时,"长城防火墙"正在阻止所有正在加载的图书馆和服务,如谷歌搜索,谷歌地图,Facebook服务和API,SmartLook,内部通信等.甚至azurewebsites.net也被阻止,所以没有可以加载动态信息.为中国制作网站版的最佳方式是什么?有什么建议?

这是尝试从中国加载网站时返回的一个小日志:

sdk.js无法加载资源:net :: ERR_CONNECTION_REFUSED js无法加载资源:net :: ERR_QUIC_PROTOCOL_ERROR connect.facebook.net/en_US/fbevents.js无法加载资源:net :: ERR_CONNECTION_REFUSED vendor.987e75786c79d833ce36.bundle.js: 1 ERROR错误:未捕获(在保证中):ReferenceError:未定义FB

客户端尝试加载的每个外部服务或库都会返回相同的错误.

javascript azure great-firewall-of-china angular

3
推荐指数
1
解决办法
347
查看次数

如何在 Xcode 9 中拖放用于 xcode-ui-testing 的元素

ios 应用程序的 UI 测试,在 Xcode 8 和 swift 3.2 中开发。

将 Xcode 版本 8 升级到 9 后,我面临处理拖放的问题

我想将一个元素[i.e. button]拖放到另一个元素上[i.e. on homepage]

对于 Xcode 8,我使用以下方法实现了它:

let sourceElement = app.buttons["Video_Button"]

let destElement = app.scrollViews.scrollViews.images.element(boundBy: 0)

sourceElement.press(forDuration: 0.5, thenDragTo: destElement)
Run Code Online (Sandbox Code Playgroud)

但是上面的代码在 Xcode 9 和 Swift 3.2 中不起作用。

xcode ios-ui-automation swift3.2 xcode9

2
推荐指数
1
解决办法
974
查看次数

无法加载资源(.resx)文件,因为它不受信任

在Visual Studio 2017中构建Windows源代码时遇到问题。显示标题中提到的错误消息。

有人对此错误消息有任何想法吗?

c# windows

2
推荐指数
1
解决办法
1678
查看次数

recyclerview内的图像是不可见的onscroll

我试图读取是否有任何图像,然后如果图像为空,我使明信片中的imageview消失.如果没有,则使用Glide加载它.

它在我第一次加载recyclerview时起作用.但是在一些卷轴之后,那些图像视图变得不可见(View.gone)

onBindViewHolder:

DataSnapshot d = topics.get(position);
    holder.text.setText(d.child("caption").getValue(String.class));
    if (d.child("type").getValue(String.class)!=null&&d.child("type").getValue(String.class).equals("image")){
        Glide.with(c).load(d.child("image").getValue(String.class)).placeholder(R.drawable.background).centerCrop().into(holder.image);
    }
    else{
        holder.image.setVisibility(View.GONE);
    }
    holder.name.setText(d.child("username").getValue(String.class));
    holder.category.setText(d.child("category").getValue(String.class));
    long millis = System.currentTimeMillis();
    long posttime = d.child("time").getValue(Long.class);
    long timedifference = millis-posttime;
    int days = (int) (timedifference / (1000*60*60*24));
    if (days<2){
        holder.time.setText("Today");

    }else {
        holder.time.setText(days+" days ago");

    }
    if (d.child("pic").exists()){
        Glide.with(c).load(d.child("pic").getValue(String.class)).placeholder(R.drawable.background).centerCrop().into(holder.pic);
    }
Run Code Online (Sandbox Code Playgroud)

那我在哪里做错了?

java android android-recyclerview

1
推荐指数
1
解决办法
135
查看次数

如何用 Java 将 JSON 写入文件

我刚开始使用 Java 将 JSON 写入文件。我有请求以以下格式发送,并且需要用Java编写。

{
Name : "sam",
"Id":"1234",
"Values": {
            "Car":"Maruti"
           },
"Price":"100000"
}
Run Code Online (Sandbox Code Playgroud)

请帮忙。

json gson

0
推荐指数
1
解决办法
1万
查看次数

删除 owlCarousel 中一定宽度的 stagePadding

有人知道我可以访问owlCarousel 中的stagePadding 属性,所以如果窗口宽度小于x px,我可以将其设置为0 吗?所以,像这样:

function() {
    $('.owl-carousel').owlCarousel({
        margin: 10,
        loop: true,
        items: 1,
        stagePadding: 200,
        nav: true,
        dots: true,
        dotsData: true,
        navText : ["<span>?</span>","<span>?</span>"],
        dotsContainer: '.owl-dots-container'
    });

    if ( $(window).width() < 1000 ) {
        $('.owl-carousel').stagePadding = 0;
    } else {
        $('.owl-carousel').stagePadding = 200;
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript css jquery owl-carousel

0
推荐指数
1
解决办法
4237
查看次数