小编kib*_*bar的帖子

为什么已用内存量增加?

private void Draw(){
     int width  = Screen.PrimaryScreen.Bounds.Width;
     int height = Screen.PrimaryScreen.Bounds.Height;
     Bitmap image= new Bitmap(width, height);
     Graphics gr =  Graphics.FromImage(image);
     gr.CopyFromScreen(0, 0, 0, 0, new Size(width, height));
     Random rnd = new Random();

     gr.DrawEllipse(new Pen(Color.Red, rnd.Next(100)), rnd.Next(300), rnd.Next(100), rnd.Next(600), rnd.Next(1000));
     Point[] p = new Point[3];
     p[0] = new Point(rnd.Next(30),  rnd.Next(60));
     p[1] = new Point(rnd.Next(100), rnd.Next(260));
     p[2] = new Point(rnd.Next(30),  rnd.Next(10));
     gr.DrawPolygon(Pens.AliceBlue, p);
     gr.DrawBeziers(Pens.Yellow, p);
     pcImageBox.Image = image;
}
Run Code Online (Sandbox Code Playgroud)

当我每300毫秒使用Timer并调用该Draw()方法时,一切正常,但是当我查看流程管理器时,我的项目使用了更多的内存(内存每300毫秒增加一次)

也许我应该使用垃圾收集器或使用垃圾收集器p = null;。如何解决此问题?

感谢您的帮助,对不起我的英语不好。

c# memory

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

Java获得nullpointerexception

mainMethod.java

public class mainMethod{
    public animalsData[] animals;

    public mainMethod(){
        animals[this.animals.length + 1] = new animalsData("CAT", "4");

    }

    public static void main(String[] args) {
        mainMethod run = new mainMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

animalsData.java

public class animalsData{
    String name, l;

    public animalsData(String name, String l) {
        super();
        this.name= name;
        this.l= l;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有这个问题:线程"main"java.lang.NullPointerException中的异常

java nullpointerexception

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

Java计时器无法正常工作

....

public class mainClass {
    public mainClass(){
        Timer time = new Timer();
        mainClass.calculate calculate = new mainClass.calculate();
        time.schedule(calculate, 1 * 1000);
    }

    public static void main(String[] args){
        new mainClass();
    }

    class calculate extends TimerTask{
        @Override
        public void run() {
            System.out.println("working..");

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在控制台中只看到一次"工作......"消息.我想看到每一秒"工作......"代码中的问题是什么?而我的另一个问题是我想每秒运行我自己的方法但是如何?

索里因为我的英语不好..

java timer

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

Android Room 无法弄清楚如何将此字段保存到数据库中

我尝试通过房间持久性库使用保存值到数据库。我SettingsValueModelConverter错了,缺少一些东西。如何以SettingsKeyContract最佳方式保存对象?

日志猫:

SettingsModel

Error:(14, 1) error: Cannot figure out how to save this field into database. You can consider adding a type converter for it.
Run Code Online (Sandbox Code Playgroud)

代码:

object SETTING_CONS{
    const val TABLE = "Content_Setting"
    const val ID    = "uid"
    const val KEY   = "key"
    const val VALUE = "value"
}

class SettingsValueModel(var value: SettingsKeyContract)
class SettingsValueModelConverter {

    @TypeConverter
    fun fromString(value: String): SettingsKeyContract = Gson().fromJson(value, object : TypeToken<SettingsKeyContract>() {}.type)

    @TypeConverter
    fun fromModel(value: SettingsKeyContract): String = Gson().toJson(value)

}

@Entity(tableName …
Run Code Online (Sandbox Code Playgroud)

android typeconverter kotlin android-room

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

JavaFX 场景 CSS 不起作用

主类.java:

public class mainClass extends Application{
    Scene scene;
    Group group;
    @Override
    public void start(Stage stg) throws Exception{
        stg.setTitle("Hi");
        stg.setWidth(600); stg.setHeight(250);
        group = new Group();
        scene = new Scene(group, 600, 250);
           scene.getStylesheets().add("mainClass.css");
        stg.setScene(scene);
        stg.centerOnScreen();
        stg.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

主类.css

.mainClass-scene{
    -fx-background-image: url("background.jpeg");
    -fx-background-repeat: stretch;   
    -fx-background-size: 600 250;
    -fx-background-position: center center;
    -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); 
}
Run Code Online (Sandbox Code Playgroud)

应用程序正常工作我显示我的框架,但我无法在场景中看到背景图像。也许 css 不起作用我如何解决这个问题?

对不起,我的英语不好,谢谢。

css javafx

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

JPanel KeyListener不工作

import javax.swing.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class AnaPencere{
    JFrame pen;
    AnaPencere(){
        pen = new JFrame("Ana Pencere");
        pen.setSize(613, 253);
        pen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pen.setLocationRelativeTo(null);
        pen.setResizable(false);
        pen.add(new Cizim());
        pen.setVisible(true);
    }


    private class Cizim extends JPanel{

        private Cizim() {
            this.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    System.out.println(e.getKeyCode());
                }
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行项目时,一切都按预期工作,但是当我按下一个键时,我没有在控制台中看到预期的结果

java swing keylistener jpanel setfocus

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

为什么不用java代码?

package mainData;

public class Hello{
    public void Hello(String sData, int ... nAges){
        for(int x : nAges){
            System.out.println(sData + " " + x);
        }
    }

    public static void main(String args[]){
        Hello ages = new Hello("Age: ", 5, 6, 7, 8);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我更改构造函数(Hello> Hello2)时,这段代码运行没有问题.但为什么这段代码不起作用?

java

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

Java创建列表有更多字段

起初我的英语不好:)

我想创建新列表,(Arraylist, hashmap etc.. which is appropriate)这个列表有6个字段,例如;

ArrayList<Integer, Integer, String, Integer, String, Integer> nData = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

这是不正确我知道,但我需要列表<int, int, String, int, String, int> 但如何?谢谢

java list

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

Android Kotlin打开资产文件

我想打开资产文件.在java代码工作之前,但当我将代码更改为kotlin时,它不起作用.

Java代码的工作原理

        InputStream  streamIN = new BufferedInputStream(context.getAssets().open(Database.ASSET));
        OutputStream streamOU = new BufferedOutputStream(new FileOutputStream(LOCATION));
        byte[] buffer = new byte[1024];
        int length;
        while ((length = streamIN.read(buffer)) > 0) {
            streamOU.write(buffer, 0, length);
        }

        streamIN.close();
        streamOU.flush();
        streamOU.close();
Run Code Online (Sandbox Code Playgroud)

我将代码更改为Kotlin但它不起作用

    var length: Int
    val buffer = ByteArray(1024)
    BufferedOutputStream(FileOutputStream(LOCATION)).use {
        out ->
        {
            BufferedInputStream(context.assets.open(Database.ASSET)).use {
                length = it.read(buffer)
                if (length > 0) out.write(buffer, 0, length)
            }

            out.flush()
        }
    }
Run Code Online (Sandbox Code Playgroud)

android inputstream kotlin

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