diff --git a/.idea/misc.xml b/.idea/misc.xml index 6faa303..47eabe0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,7 @@ - + diff --git a/app/src/main/java/us/spotco/malwarescanner/Database.java b/app/src/main/java/us/spotco/malwarescanner/Database.java index ecc7629..917142f 100644 --- a/app/src/main/java/us/spotco/malwarescanner/Database.java +++ b/app/src/main/java/us/spotco/malwarescanner/Database.java @@ -49,6 +49,10 @@ public class Database { } public static void loadDatabase(ArrayList signatureDatabases) { + signaturesMD5 = new HashMap(); + signaturesSHA1 = new HashMap(); + signaturesSHA256 = new HashMap(); + System.gc(); for (SignatureDatabase database : signatureDatabases) { File databaseLocation = new File(databasePath + "/" + database.getName()); if (databaseLocation.exists()) { @@ -81,6 +85,7 @@ public class Database { } } } + System.gc(); } public static String checkInDatabase(String hash) { diff --git a/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java b/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java index 421d304..44250a0 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java +++ b/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java @@ -92,7 +92,7 @@ public class MalwareScanner { Database.loadDatabase(Database.signatureDatabases); publishProgress("Loaded " + Database.signaturesMD5.size() + " MD5 signatures"); publishProgress("Loaded " + Database.signaturesSHA1.size() + " SHA-1 signatures"); - publishProgress("Loaded " + Database.signaturesSHA256.size() + " SHA-256 signatures"); + publishProgress("Loaded " + Database.signaturesSHA256.size() + " SHA-256 signatures\n"); if (Database.signaturesMD5.size() > 0) { for (File file : filesToScan) { @@ -105,9 +105,9 @@ public class MalwareScanner { publishProgress(file.getValue() + " detected as " + result); } } - publishProgress("Checked all MD5 hashes against signature databases"); + publishProgress("Checked all MD5 hashes against signature databases\n"); } else { - publishProgress("No MD5 signatures available"); + publishProgress("No MD5 signatures available\n"); } if (Database.signaturesSHA1.size() > 0) { @@ -121,9 +121,9 @@ public class MalwareScanner { publishProgress(file.getValue() + " detected as " + result); } } - publishProgress("Checked all SHA-1 hashes against signature databases"); + publishProgress("Checked all SHA-1 hashes against signature databases\n"); } else { - publishProgress("No SHA-1 signatures available"); + publishProgress("No SHA-1 signatures available\n"); } if (Database.signaturesSHA256.size() > 0) { @@ -137,11 +137,13 @@ public class MalwareScanner { publishProgress(file.getValue() + " detected as " + result); } } - publishProgress("Checked all SHA-256 hashes against signature databases"); + publishProgress("Checked all SHA-256 hashes against signature databases\n"); } else { - publishProgress("No SHA-256 signatures available"); + publishProgress("No SHA-256 signatures available\n"); } + System.gc(); + return null; } @@ -152,7 +154,7 @@ public class MalwareScanner { @Override protected void onPostExecute(String result) { - log.append("Scan complete!\n"); + log.append("Scan complete!\n\n\n\n\n"); } }