小编Hou*_*man的帖子

如何修复涉及Threads的Android内存泄漏?

所以我发现,与MAT我保持创建多个ThreadssurfaceCreate

我认为我需要这些线程,但是这个方法导致多个实例ViewThread,当用户浏览我的应用程序时,这是一个内存泄漏.

如何重新组织我的线程的创建和处理方式,以便不会发生这种情况,或者如何阻止泄漏的发生?

@Override
public void surfaceCreated(SurfaceHolder holder) {
    loading=false;
    if (!mThread.isAlive()){
        mThread = new ViewThread(this);
        mThread.setMenuRunning(true);
        mThread.start();
    }
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {

    if (mThread.isAlive()){ 
        mThread.setMenuRunning(false);
    }
}
Run Code Online (Sandbox Code Playgroud)

我打开并远离Career我的游戏活动五次,这就是出现在MAT

泄漏

编辑:我已经发现,依赖于surfaceDestroyed我的线程的破坏是不可靠的.我现在调用来自不同方法的相应线程销毁调用,触发onPause.

android memory-leaks

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

如何将特定类型的所有文件上传到S3 Bucket?

当我这样做:

foreach ($f in (Get-ChildItem -filter "*.flv")){
    Write-S3Object -BucketName bucket.example -File $f.fullName -Key $f.name -CannedACLName PublicRead
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Write-S3Object :
At line:1 char:51
+  foreach ($f in (Get-ChildItem -filter "*.flv")){ Write-S3Object -BucketName xx. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Amazon.PowerShe...eS3ObjectCmdlet:WriteS3ObjectCmdlet) [Write-S3Objec
   t], InvalidOperationException
    + FullyQualifiedErrorId : Amazon.S3.AmazonS3Exception,Amazon.PowerShell.Cmdlets.S3.WriteS3ObjectCmdlet
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?有什么我可以做的来看到更多的错误,或者这只是一个语法问题?

如何使用PowerShell将所有特定文件类型上传到存储桶?

编辑:

我故意设置Set-DefaultAWSRegion了一个桶不在的区域,并得到了

Write-S3Object : The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. 
Run Code Online (Sandbox Code Playgroud)

作为一个错误消息,正如预期的那样,所以看起来它可以连接到存储桶,它知道它不在某个区域.

此外,如果我 …

powershell amazon-s3 amazon-web-services aws-powershell

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

如何使用multer将文件从邮递员发送到node.js

Windows
Express 4.12.4
Multer 1.0.1
节点v0.10.22

我正在尝试使用邮递员将文件发送到我的node.js服务器.

我试图在这里阅读自述文件

这是我和邮递员发送的内容:

POST /ingest HTTP/1.1
Host: localhost:3000
Cache-Control: no-cache
Postman-Token: 69dd2497-2002-56ed-30a4-d662f77dc0b0
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Run Code Online (Sandbox Code Playgroud)

这是它的样子: 在此输入图像描述

这是它在node.js上的命中

var Ingest      = require('../controllers/ingest.js');
var multer      = require('multer');
var upload      = multer({ dest: 'uploads/',fileFilter:function(req,file,cb){
        console.log('file is',file)
        cb(null,true);
    }
});

module.exports = function (app) {
    app.post('/ingest', upload.single('test'), function(req, res, next) {
        console.log(req.body);
        console.log(req.file);
        Ingest.ingestData()
        .then(function (response){
            return res.status(200).json(response);
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

当我击中邮递员我得到这条路线{}req.bodyundefinedreq.file.

我究竟做错了什么?

这是我初始化app传递给路径文件的地方:

var express …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express postman multer

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

timer._repeat不是函数?

节点v4.2.6

我有一个小程序:

var chokidar = require('chokidar');
var _ = require('lodash');
var q = require('q');
var fs = require('fs');
var faker = require('faker');
var file = 'testfile.txt';
var pending = '';
var writer;

fs.open(file,'w+',function(){
    writer = fs.createWriteStream(file);

    writer.on('error',function(err){
        console.log(err);
    });

    writer.on('drain',rewrite);

    var timer = setInterval(write(),100);
});

function write(){
    var data = faker.Helpers.createCard();
    console.log('attempting to write ' + Buffer.byteLength(data,'utf8') + ' bytes');
    var ok = writer.write(data.toString());
    if(!ok){
        console.log('buffer full, saving in memory');
        pending += data;
    }else{
        console.log('written');
    }
}

function rewrite(){
    console.log('buffer …
Run Code Online (Sandbox Code Playgroud)

javascript timer node.js

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

为什么window.location.search为空?

如果console.log(window.location)我得到这个:

Location {replace: function, assign: function, ancestorOrigins: DOMStringList, origin: "https://localhost:3000", hash: "#/account/content?hello=world"…}
ancestorOrigins: DOMStringList
assign: function () { [native code] }
hash: "#/account/content?hello=world"
host: "localhost:3000"
hostname: "localhost"
href: "https://localhost:3000/#/account/content?hello=world'"
origin: "https://localhost:3000"
pathname: "/"
port: "3000"
protocol: "https:"
reload: function reload() { [native code] }
replace: function () { [native code] }
search: ""
toString: function toString() { [native code] }
valueOf: function valueOf() { [native code] }
__proto__: Location
Run Code Online (Sandbox Code Playgroud)

我希望search如此?hello=world,但事实并非如此.

为什么?

我正在使用Chrome 35

javascript

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

无法为茉莉花设置超时

我已经尝试了这个答案中的所有解决方案,但它们都不适合我.

我正在使用jasmine v2.3.2jasmine-core v2.3.4

当我做这个测试时:

jasmine.DEFAULT_TIMEOUT_INTERVAL= 999999;

describe('tests content controller', function(){
//...

    fit('/content should return 200',function(done){
        request(app)
        .get('/content?type=script')
        .set('Authorization', "bearer " + requestor.token)
        .set('Accept', 'application/json')
        .expect(200)
        .end(function (err, res) {
            if (err) done.fail(err);
            expect(res.statusCode).toBe(200);
            console.log('got here');
            console.log(jasmine.DEFAULT_TIMEOUT_INTERVAL); //prints 30000
            done();
        })
    },999999);
Run Code Online (Sandbox Code Playgroud)

我在控制台上看到请求只花了3000毫秒.我甚至看到了我的got here日志.

显示超时的日志打印出来,30000而不是999999像我期望的那样.

我也通过以下消息对此测试失败:

Message:
    Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
  Stack:
    Error: Timeout - Async callback was not invoked …
Run Code Online (Sandbox Code Playgroud)

javascript node.js jasmine

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

用于C#的AWS sdk,在哪里放置App.config文件?

所以我有一个C#控制台应用程序,可以将文件上传到s3存储.

当我从Visual Studio内部调试它时它工作正常,但是,当我构建.exe并从我的服务器运行它时,我得到错误,说它无法在App.config文件中找到Access Key.

System.ArgumentException: Access Key could not be found.  Add an appsetting to your App.config with the name AWSAccessKey with a value of your access key.
Run Code Online (Sandbox Code Playgroud)

并且:

Amazon.Runtime.AmazonServiceException: Unable to reach credentials server
Run Code Online (Sandbox Code Playgroud)

第二个错误可能是由第一个引起的.

我将我的App.config文件放在与我正在运行的.exe相同的目录中,但这没有帮助.

还有什么我需要做的?

这是我的App.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="AWSAccessKey" value="key"/>
    <add key="AWSSecretKey" value="secret"/>
    <add key="AWSRegion" value="us-west-2" />
  </appSettings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

此文件的构建操作是"嵌入式资源"我也尝试将其更改为"内容",但没有帮助.


一些可能相关或不相关的事情: …

c# amazon-s3 amazon-web-services

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

如何使用angularJs动态更改HTML的id

在ng-repeat里面我想做这样的事情:

<div class='col-sm-12' id="playerHolder"><span id="vidPlayerDIV{{$index}}"></span></div>
Run Code Online (Sandbox Code Playgroud)

其中div被命名为vidPlayerDiv0,vidPlayerDiv1等等

但是,该代码不起作用.我怎样才能做到这一点?

html javascript angularjs

6
推荐指数
2
解决办法
4176
查看次数

如何以编程方式从图像列表中创建powerpoint

我已经看到了这个问题:以编程方式创建PowerPoint演示文稿,但这个问题问"你能吗?" 答案是肯定的.

但我问"怎么样?" 特别是"从图像列表?"

这就是我打破ppt到图像的方法

var app = new PowerPoint.Application();
var pres = app.Presentations;
var file = pres.Open(input, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
file.SaveAs(output, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsJPG, MsoTriState.msoTrue);
file.Close();
app.Quit();
Run Code Online (Sandbox Code Playgroud)

我该如何反过来?

c# powerpoint office-interop

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

无法使用rtmfp连接到服务器

如何使用rtmfp连接到我的服务器?

我可以做这个:

var test:NetConnection = new NetConnection();
trace('trying to connect');
test.connect("rtmp://[server]/chat");
test.addEventListener(NetStatusEvent.NET_STATUS,function(event:NetStatusEvent):void {
    trace(event.info.code);
});
Run Code Online (Sandbox Code Playgroud)

得到 NetConnection.Connect.Success

但是当我这样做时:

var test:NetConnection = new NetConnection();
trace('trying to connect');
test.connect("rtmfp://[server]/chat");
test.addEventListener(NetStatusEvent.NET_STATUS,function(event:NetStatusEvent):void {
    trace(event.info.code);
});
Run Code Online (Sandbox Code Playgroud)

经过很长一段时间,它失败了.

我正在连接到我自己的Adobe Media Server v.5.0.3.所有TCP和UDP端口都是打开的.

RTMFP enable被设置为true[ams root]\conf\_defaultRoot_\Adaptor.xml

http://cc.rtmfp.net/给了我回复:

  • 没有
  • 没有
  • 没有

rtmfp adobe-media-server

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