Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 28字节分配内存不足-Android_Java_Android_Mysql_Amazon Ec2_Out Of Memory - Fatal编程技术网

Java 28字节分配内存不足-Android

Java 28字节分配内存不足-Android,java,android,mysql,amazon-ec2,out-of-memory,Java,Android,Mysql,Amazon Ec2,Out Of Memory,所以我有一个连接到ec2上运行的mysql服务器的应用程序。正在建立连接,但在提取数据时,出现以下错误: 05-19 22:15:21.988: D/dalvikvm(1947): GC_FOR_ALLOC freed 724K, 3% free 37841K/38620K, paused 24ms, total 24ms 05-19 22:15:22.508: D/dalvikvm(1947): GC_FOR_ALLOC freed 90K, 1% free 39780K/39936K, pa

所以我有一个连接到ec2上运行的mysql服务器的应用程序。正在建立连接,但在提取数据时,出现以下错误:

05-19 22:15:21.988: D/dalvikvm(1947): GC_FOR_ALLOC freed 724K, 3% free 37841K/38620K, paused 24ms, total 24ms
05-19 22:15:22.508: D/dalvikvm(1947): GC_FOR_ALLOC freed 90K, 1% free 39780K/39936K, paused 4ms, total 4ms
05-19 22:15:23.228: D/dalvikvm(1947): GC_FOR_ALLOC freed 121K, 1% free 41697K/41884K, paused 5ms, total 5ms
05-19 22:15:23.818: D/dalvikvm(1947): GC_FOR_ALLOC freed 111K, 1% free 43625K/43800K, paused 7ms, total 7ms
05-19 22:15:24.378: D/dalvikvm(1947): GC_FOR_ALLOC freed 162K, 1% free 45502K/45728K, paused 6ms, total 6ms
05-19 22:15:25.018: D/dalvikvm(1947): GC_FOR_ALLOC freed 10K, 1% free 47531K/47604K, paused 7ms, total 8ms
05-19 22:15:25.538: D/dalvikvm(1947): GC_FOR_ALLOC freed 238K, 1% free 49333K/49636K, paused 8ms, total 8ms
05-19 22:15:26.178: D/dalvikvm(1947): GC_FOR_ALLOC freed 10K, 1% free 51363K/51436K, paused 9ms, total 9ms
05-19 22:15:26.808: D/dalvikvm(1947): GC_FOR_ALLOC freed 10K, 1% free 53395K/53468K, paused 10ms, total 10ms
05-19 22:15:27.328: D/dalvikvm(1947): GC_FOR_ALLOC freed 8K, 1% free 55047K/55124K, paused 11ms, total 11ms
05-19 22:15:27.798: D/dalvikvm(1947): GC_FOR_ALLOC freed 353K, 1% free 56734K/57152K, paused 12ms, total 12ms
05-19 22:15:28.438: D/dalvikvm(1947): GC_FOR_ALLOC freed 10K, 1% free 58767K/58840K, paused 13ms, total 13ms
05-19 22:15:29.168: D/dalvikvm(1947): GC_FOR_ALLOC freed 10K, 1% free 60799K/60872K, paused 13ms, total 13ms
05-19 22:15:29.848: D/dalvikvm(1947): GC_FOR_ALLOC freed 10K, 1% free 62831K/62904K, paused 14ms, total 14ms
05-19 22:15:30.268: I/dalvikvm-heap(1947): Clamp target GC heap from 64.889MB to 64.000MB
05-19 22:15:30.268: D/dalvikvm(1947): GC_FOR_ALLOC freed 522K, 1% free 64346K/64936K, paused 13ms, total 13ms
05-19 22:15:30.618: I/dalvikvm-heap(1947): Clamp target GC heap from 65.981MB to 64.000MB
05-19 22:15:30.618: D/dalvikvm(1947): GC_FOR_ALLOC freed 5K, 1% free 65463K/65536K, paused 15ms, total 15ms
05-19 22:15:30.618: I/dalvikvm-heap(1947): Forcing collection of SoftReferences for 16-byte allocation
05-19 22:15:30.638: I/dalvikvm-heap(1947): Clamp target GC heap from 65.972MB to 64.000MB
05-19 22:15:30.638: D/dalvikvm(1947): GC_BEFORE_OOM freed 71K, 1% free 65392K/65536K, paused 18ms, total 19ms
05-19 22:15:30.648: I/dalvikvm-heap(1947): Clamp target GC heap from 65.980MB to 64.000MB
05-19 22:15:30.648: D/dalvikvm(1947): GC_FOR_ALLOC freed <1K, 1% free 65400K/65536K, paused 15ms, total 15ms
05-19 22:15:30.678: I/dalvikvm-heap(1947): Clamp target GC heap from 65.980MB to 64.000MB
05-19 22:15:30.678: D/dalvikvm(1947): GC_FOR_ALLOC freed <1K, 1% free 65400K/65536K, paused 26ms, total 26ms
05-19 22:15:30.708: I/dalvikvm-heap(1947): Clamp target GC heap from 65.981MB to 64.000MB
05-19 22:15:30.708: D/dalvikvm(1947): GC_FOR_ALLOC freed 0K, 1% free 65400K/65536K, paused 27ms, total 27ms
05-19 22:15:30.708: I/dalvikvm-heap(1947): Forcing collection of SoftReferences for 13-byte allocation
05-19 22:15:30.728: I/dalvikvm-heap(1947): Clamp target GC heap from 65.980MB to 64.000MB
05-19 22:15:30.728: D/dalvikvm(1947): GC_BEFORE_OOM freed <1K, 1% free 65399K/65536K, paused 21ms, total 21ms
05-19 22:15:30.738: I/dalvikvm-heap(1947): Clamp target GC heap from 65.981MB to 64.000MB
05-19 22:15:30.738: D/dalvikvm(1947): GC_FOR_ALLOC freed 0K, 1% free 65399K/65536K, paused 13ms, total 13ms
05-19 22:15:30.738: I/dalvikvm-heap(1947): Forcing collection of SoftReferences for 17-byte allocation
05-19 22:15:30.758: I/dalvikvm-heap(1947): Clamp target GC heap from 65.981MB to 64.000MB
05-19 22:15:30.758: D/dalvikvm(1947): GC_BEFORE_OOM freed 0K, 1% free 65399K/65536K, paused 19ms, total 19ms
05-19 22:15:30.758: E/dalvikvm-heap(1947): Out of memory on a 17-byte allocation.
05-19 22:15:30.758: I/dalvikvm(1947): "Thread-84" prio=5 tid=11 RUNNABLE JIT
05-19 22:15:30.758: I/dalvikvm(1947):   | group="main" sCount=0 dsCount=0 obj=0xb3033668 self=0xb9085ad0
05-19 22:15:30.758: I/dalvikvm(1947):   | sysTid=1960 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=-1190557824
05-19 22:15:30.758: I/dalvikvm(1947):   | state=R schedstat=( 0 0 0 ) utm=33 stm=17 core=0
05-19 22:15:30.758: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:~2267)
05-19 22:15:30.758: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:2044)
05-19 22:15:30.758: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3549)
05-19 22:15:30.758: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:489)
05-19 22:15:30.758: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3240)
05-19 22:15:30.758: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2411)
05-19 22:15:30.768: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2834)
05-19 22:15:30.768: I/dalvikvm(1947):   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2832)
05-19 22:15:30.768: I/dalvikvm(1947):   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2781)
05-19 22:15:30.768: I/dalvikvm(1947):   at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1569)
05-19 22:15:30.768: I/dalvikvm(1947):   at com.example.hotwaterheater.AWSconnect.run(AWSconnect.java:94)
05-19 22:15:30.768: I/dalvikvm(1947):   at java.lang.Thread.run(Thread.java:841)
05-19 22:15:30.778: I/dalvikvm-heap(1947): Clamp target GC heap from 65.981MB to 64.000MB
05-19 22:15:30.778: D/dalvikvm(1947): GC_FOR_ALLOC freed 0K, 1% free 65399K/65536K, paused 15ms, total 15ms
05-19 22:15:30.778: I/dalvikvm-heap(1947): Forcing collection of SoftReferences for 28-byte allocation
05-19 22:15:30.798: I/dalvikvm-heap(1947): Clamp target GC heap from 65.981MB to 64.000MB
05-19 22:15:30.798: D/dalvikvm(1947): GC_BEFORE_OOM freed 0K, 1% free 65399K/65536K, paused 20ms, total 20ms
05-19 22:15:30.798: E/dalvikvm-heap(1947): Out of memory on a 28-byte allocation.
05-19 22:15:30.798: I/dalvikvm(1947): "Thread-84" prio=5 tid=11 RUNNABLE JIT
05-19 22:15:30.798: I/dalvikvm(1947):   | group="main" sCount=0 dsCount=0 obj=0xb3033668 self=0xb9085ad0
05-19 22:15:30.798: I/dalvikvm(1947):   | sysTid=1960 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=-1190557824
05-19 22:15:30.798: I/dalvikvm(1947):   | state=R schedstat=( 0 0 0 ) utm=35 stm=18 core=0
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:~2267)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:2044)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3549)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:489)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3240)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2411)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2834)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2832)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2781)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1569)
05-19 22:15:30.808: I/dalvikvm(1947):   at com.example.hotwaterheater.AWSconnect.run(AWSconnect.java:94)
05-19 22:15:30.808: I/dalvikvm(1947):   at java.lang.Thread.run(Thread.java:841)
05-19 22:15:30.808: W/dalvikvm(1947): threadid=11: thread exiting with uncaught exception (group=0xb0d09b20)
05-19 22:15:30.828: D/dalvikvm(1947): GC_FOR_ALLOC freed 28074K, 4% free 37325K/38528K, paused 28ms, total 28ms
05-19 22:15:30.828: E/AndroidRuntime(1947): FATAL EXCEPTION: Thread-84
05-19 22:15:30.828: E/AndroidRuntime(1947): Process: com.example.hotwaterheater, PID: 1947
05-19 22:15:30.828: E/AndroidRuntime(1947): java.lang.OutOfMemoryError: [memory exhausted]
05-19 22:15:30.828: E/AndroidRuntime(1947):     at dalvik.system.NativeStart.main(Native Method)
05-19 22:15:21.988:D/dalvikvm(1947):释放724K的所有数据,释放3%的37841K/38620K,暂停24ms,总计24ms
5-19 22:15:22.508:D/dalvikvm(1947):释放90K的所有物质,1%释放39780K/39936K,暂停4ms,总共4ms
5-19 22:15:23.228:D/dalvikvm(1947):所有释放的121K,1%释放的41697K/41884K,暂停5ms,总计5ms
5-19 22:15:23.818:D/dalvikvm(1947):释放111K的所有元素的GC_,1%的自由元素43625K/43800K,暂停7ms,总计7ms
5-19 22:15:24.378:D/dalvikvm(1947):释放162K,1%释放45502K/45728K,暂停6ms,总共6ms
5-19 22:15:25.018:D/dalvikvm(1947):所有释放的10K,1%释放的47531K/47604K,暂停7ms,总共8ms
5-19 22:15:25.538:D/dalvikvm(1947):全部释放238K,1%释放49333K/49636K,暂停8毫秒,总计8毫秒
5-19 22:15:26.178:D/dalvikvm(1947):所有释放的10K,1%释放的51363K/51436K,暂停9ms,总计9ms
5-19 22:15:26.808:D/dalvikvm(1947):所有释放的10K,1%释放的53395K/53468K,暂停10ms,总计10ms
5-19 22:15:27.328:D/dalvikvm(1947):释放8K的所有元素的GC,1%的自由元素55047K/55124K,暂停11ms,总计11ms
5-19 22:15:27.798:D/dalvikvm(1947):全部释放353K,1%释放56734K/57152K,暂停12毫秒,总计12毫秒
5-19 22:15:28.438:D/dalvikvm(1947):所有释放的10K,1%释放的58767K/58840K,暂停13ms,总计13ms
5-19 22:15:29.168:D/dalvikvm(1947):所有释放的10K,1%释放的60799K/60872K,暂停13ms,总计13ms
5-19 22:15:29.848:D/dalvikvm(1947):所有释放的10K,1%释放的62831K/62904K,暂停14ms,总计14ms
05-19 22:15:30.268:I/dalvikvm堆(1947):将目标GC堆从64.889MB钳制到64.000MB
5-19 22:15:30.268:D/dalvikvm(1947):释放522K,1%释放64346K/64936K,暂停13ms,总计13ms
05-19 22:15:30.618:I/dalvikvm堆(1947):将目标GC堆从65.981MB钳制到64.000MB
5-19 22:15:30.618:D/dalvikvm(1947):所有释放的5K,1%释放的65463K/65536K,暂停15毫秒,总计15毫秒
05-19 22:15:30.618:I/dalvikvm堆(1947):强制收集16字节分配的软引用
05-19 22:15:30.638:I/dalvikvm堆(1947):将目标GC堆从65.972MB钳制到64.000MB
5-19 22:15:30.638:D/dalvikvm(1947):释放71K之前的GC_,1%释放65392K/65536K,暂停18ms,总计19ms
05-19 22:15:30.648:I/dalvikvm堆(1947):将目标GC堆从65.980MB钳制到64.000MB

05-19 22:15:30.648:D/dalvikvm(1947):GC_FOR_ALLOC freed我建议您记录查询,然后检查在其他地方运行时得到的结果。我还强烈建议您使用参数化查询,而不是将值构建到SQL本身中,理想情况下使用适当日期类型的参数,而不是所有这些字符串操作。好的,我想尝试所有这些,但我不太确定如何做这些。我是个初学者。是否有任何网站/链接/其他解决方案,你可能知道/能够指导我吗?我先从。你真的想像这样公开你的数据库吗?我会考虑把它放在一个更加专注的Web服务后面。
java.sql.Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://<correctIP>:3306/test","   <user>","<password>");
        } catch (java.sql.SQLException e1) {
            Log.d("TAG","Cannot Connect to server");
            e1.printStackTrace();
        }
        Log.d(TAG, "connected");
        try {
            Log.d(TAG, "just after connection");
            Calendar cal = Calendar.getInstance();
            String year = String.valueOf(cal.get(Calendar.YEAR));
            int m = cal.get(Calendar.MONTH) + 1;
            String month = String.valueOf(m);
            if(month.length() == 1){
                month = "0" + month;
            }
            String day = String.valueOf(cal.get(Calendar.DATE));
            if(day.length() == 1){
                day = "0" + day;
            }
            String hour = String.valueOf(cal.get(Calendar.HOUR));
            if(hour.length() == 1){
                hour = "0" + hour;
            }
            String minute = String.valueOf(cal.get(Calendar.MINUTE));
            if(minute.length() == 1){
                minute = "0" + minute;
            }
            String second = String.valueOf(cal.get(Calendar.SECOND));
            if(second.length() == 1){
                second = "0" + second;
            }
            String currDateTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;

            myHeater = HeaterSingleton.getInstance();
            String savedDate = myHeater.getLastDate();
            String savedYear, savedMonth, savedDay, savedHour;

            Log.d(TAG, "got currDate");

            //if this is the first time it's been opened.
            if(savedDate.equals("") || savedDate.equals(null)){
                myHeater.setLastDate("'2014-05-17 04:35:05'");
                savedDate = myHeater.getLastDate();
                savedYear = savedDate.substring(0,4);
                savedMonth = savedDate.substring(5,7);
                savedDay = savedDate.substring(8,10);
                savedHour = savedDate.substring(11,13);
                myHeater.setCurrYear(savedYear);
                myHeater.setCurrMonth(savedMonth);
                myHeater.setCurrDay(savedDay);
                myHeater.setCurrHour(savedHour);
            }else{
                savedYear = savedDate.substring(0,4);
                savedMonth = savedDate.substring(5,7);
                savedDay = savedDate.substring(8,10);
                savedHour = savedDate.substring(11,13);
            }

            Log.d(TAG, "just before select");
            java.sql.Statement stmt = conn.createStatement();
            Log.d(TAG, "statement made");
            java.sql.ResultSet table = stmt.executeQuery("SELECT * FROM heater WHERE time >= " + savedDate);
            Log.d(TAG, "connected");
            int count = 0;
            Log.d(TAG, "pre-amazon setup done");