- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
该程序是一个显示媒体的系统:图像、视频并在它们之间不断交替。问题是使用增加内存:编程运行30分钟后,消耗1.2GB内存
我不太清楚我能做什么,我相信内存消耗增加的原因是递归(函数调用自身)或者每次给出图片时都会创建一个线程,并且当它播放视频时,它使用技术上“正确”的可运行(.setOnEndOfMedia())请记住,我不能使用计时器/时间线,因为我有不同持续时间的视频,这种方式适用于图像
package testevideo2;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Cursor;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
import javafx.util.Duration;
public class TesteVideo2 extends Application{
StackPane stack = new StackPane();
int xImagem = 0;
int xVideo = 0;
public void start(Stage primaryStage) throws Exception {
//primaryStage.setScene(videoCena);
primaryStage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
primaryStage.setFullScreen(true);
primaryStage.setTitle("Titulo bonito");
primaryStage.show();
proximo(primaryStage);
/*player.play();
player.setOnEndOfMedia(new Runnable() { //Classe Anônima
@Override
public void run() {
primaryStage.setScene(imagemCena);
//primaryStage.centerOnScreen();
}
});*/
}
private void proximo(Stage primaryStage){
//valores serao pego da api...
boolean[] eVideo = {false, false, true, false, true};
String[] nomeImagens = {"doido.jfif", "eu.jpg", "resultado.jpg", "37Teste.jpg"};
String[] nomeVideos = {"xx.mp4", "carinha.mp4"};
final String diretorioBase = "file:/C:/Users/Thiago/Desktop/arquivos_projetoandre/";
if(xImagem + xVideo < eVideo.length){
//look if the next file is a video or an image
if(eVideo[xImagem + xVideo]){
//criador de video
Media media = new Media(diretorioBase + nomeVideos[xVideo]);
MediaPlayer player = new MediaPlayer(media);
Scene videoCena = new Scene(new Group(new MediaView(player)), 1366, 720);
videoCena.setCursor(Cursor.NONE);
player.play();
player.setOnEndOfMedia(new Runnable() { //Classe Anônima
@Override
public void run() {
proximo(primaryStage);
//primaryStage.centerOnScreen();
}
});
primaryStage.setScene(videoCena);
xVideo++;
} else {
//criador de imagem
Pane pane = new HBox();
Image img = new Image(diretorioBase + nomeImagens[xImagem]);
pane.getChildren().add(new ImageView(img));
Scene imagemCena = new Scene(pane, 1366, 720);
//PROBABLY PROBLEM HERE --- CREATE A NEW THREAD ONLY TO WAIT 4 SECONDS
Thread a = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(4000);
//force to the application run on 'javaFx thread'
Platform.runLater(new Runnable(){
@Override
public void run() {
proximo(primaryStage);
}
});
} catch (InterruptedException ex) {
Logger.getLogger(TesteVideo2.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
a.start();
primaryStage.setScene(imagemCena);
xImagem++;
//Thread.sleep(4000);
//proximo(primaryStage);
}
} else {
xVideo = 0;
xImagem = 0;
proximo(primaryStage);
}
}
public static void main(String [] args) {
Application.launch();
}
}
我希望它能实现与现在相同的功能,除了处理的使用随着时间的推移而增加,因为该应用程序将运行几个小时......
最佳答案
如果您停止使用 MediaPlayer
对象,则需要调用 dispose()
来释放其所有资源。
还要确保您的 Java 版本为 8 或更高版本(旧版本中存在内存泄漏)。
关于JAVAFX媒体: Serious optimization problem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014752/
该程序是一个显示媒体的系统:图像、视频并在它们之间不断交替。问题是使用增加内存:编程运行30分钟后,消耗1.2GB内存 我不太清楚我能做什么,我相信内存消耗增加的原因是递归(函数调用自身)或者每次给出
看完this关于为什么 google/facebook 等添加无法解析的内容的问题,例如: while(1); for(;;); &&&START&&& ... &&&END&&& 1 和 3 组合
我正在完成我的 Core Data 应用程序,并开始最终测试。 Everyfing 工作正常,除了一件事,它是随机发生的,而且我无法重现它。 这是日志(使用 NSZombieEnabled): 201
我正在使用 Appcelerator 并想做一些视频处理。我遇到了 Seriously.js,发现您可以在“节点”管道中进行一些令人印象深刻的图像和视频流操作。因此,在进行这项工作的应用加速器部分之前
我正在尝试调整 Canvas DOM 元素中相机显示的大小。我尝试过使用事件监听器,并且能够毫无问题地调整 Canvas 大小。然而,相机的视频源不会更新其大小,它保持与初始化时相同。为了使其工作,我
背景:我有一个模仿 fgets(character, 2, fp) 的小例程,只是它从字符串而不是流中获取字符。 newBuff 是动态分配的字符串,作为参数传递,字符被声明为 char charac
Linux的“手动关闭”警告(SVr4、4.3BSD,POSIX.1-2001): Not checking the return value of close() is a common but n
我目前正在调查我的 Android 应用程序的垃圾收集问题,我很想知道 GC_FOR_ALLOC 是否表明存在比其他 GC 消息(例如 GC_CONCURRENT)更大的问题。 据我了解,GC_CON
这个问题在这里已经有了答案: Why should casting be avoided? [closed] (14 个答案) 关闭 9 年前。 来自 http://www.stroustrup.c
我正在开发一个应用程序,允许用户管理一些单独的数据点。我的用户想要做的事情之一是“删除”,但这意味着什么? 对于网络应用程序来说,向用户提供严格删除或使用“垃圾”系统的选项是否更好? 在“严重删除”下
好的, 这是我在 stackoverflow 上发表的第一篇文章。几个小时以来,我一直在用头撞墙。我讨厌输入问题;你可以相信我已经竭尽全力地尝试自己解决这个问题。我对以下错误进行了一些研究,但仍然无法
我网站的管理部分有一堆非常慢的报告生成脚本,它们在生成时逐行echo 输出。要立即将此输出刷新到浏览器,而不是用户必须等待几分钟才能看到任何响应,我们有 output_buffering禁用,我们调用
嗨,我要崩溃了, 当我试图在后台将 1000 条记录插入数据库时,出现以下异常:CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获到异常。 这通常是 的观察者中的错误 NSMa
我在开发我的 iPhone 应用程序时遇到了重大问题。 这是完整的错误: CoreData: error: Serious application error. Exception was caug
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
有一个包含图像的容器组件。这个容器应该是 后面不同容器组件中的文本。两个容器组件距离 Root 元素的深度相同。解释确切的结构有点复杂。 问题的要点是 zIndex 在 iOS 上受尊重,但在 And
(不,这不是家庭作业,我只是发现了这个错误并认为在这里分享它可能会有用) import java.util.List; public class BubbleSorter { public >
目标是将一系列视网膜图像转换为单个视频。 下面的两个函数负责将 UIImage 写入 AVAssetWriterInputPixelBufferAdaptor。它们起作用了,并且代码从图像中生成了看似
我正在尝试在 Meteor 应用程序中使用 Seriously.js 库 ( https://github.com/brianchirls/Seriously.js/ )。我已将该库放在我的 mete
我正在 iOS 上编写一个程序,我正面临这个错误: 2015-11-06 10:57:24.289 NETFNET[2503:976392] CoreData: error: Serious appl
我是一名优秀的程序员,十分优秀!