Reuse NumberFormatter to reduce allocations

This commit is contained in:
Max Weber
2018-03-03 19:25:11 -07:00
parent 9386659f14
commit 6bedcc2c7a
3 changed files with 16 additions and 13 deletions

View File

@@ -39,6 +39,8 @@ import net.runelite.client.ui.overlay.components.PanelComponent;
class BlastFurnaceCofferOverlay extends Overlay
{
private static final NumberFormat NUMBER_FORMATTER = NumberFormat.getInstance();
private final Client client;
private final BlastFurnacePlugin plugin;
private final PanelComponent panelComponent = new PanelComponent();
@@ -69,7 +71,7 @@ class BlastFurnaceCofferOverlay extends Overlay
panelComponent.getLines().add(new PanelComponent.Line(
"Coffer:",
NumberFormat.getInstance().format(client.getSetting(BLAST_FURNACE_COFFER)) + " gp"
NUMBER_FORMATTER.format(client.getSetting(BLAST_FURNACE_COFFER)) + " gp"
));
}
return panelComponent.render(graphics, parent);

View File

@@ -68,6 +68,8 @@ public class HiscorePanel extends PluginPanel
private static final String SKILL_NAME = "SKILL_NAME";
private static final String SKILL = "SKILL";
private static final NumberFormat NUMBER_FORMATTER = NumberFormat.getInstance();
private static final HiscoreSkill[] SKILL_PANEL_ORDER = new HiscoreSkill[]
{
ATTACK, HITPOINTS, MINING,
@@ -255,8 +257,6 @@ public class HiscorePanel extends PluginPanel
return;
}
NumberFormat formatter = NumberFormat.getInstance();
String text;
switch (skillName)
{
@@ -272,8 +272,8 @@ public class HiscorePanel extends PluginPanel
result.getPrayer().getLevel()
);
text = "Skill: Combat" + System.lineSeparator()
+ "Exact Combat Level: " + formatter.format(combatLevel) + System.lineSeparator()
+ "Experience: " + formatter.format(result.getAttack().getExperience()
+ "Exact Combat Level: " + NUMBER_FORMATTER.format(combatLevel) + System.lineSeparator()
+ "Experience: " + NUMBER_FORMATTER.format(result.getAttack().getExperience()
+ result.getStrength().getExperience() + result.getDefence().getExperience()
+ result.getHitpoints().getExperience() + result.getMagic().getExperience()
+ result.getRanged().getExperience() + result.getPrayer().getExperience());
@@ -281,28 +281,28 @@ public class HiscorePanel extends PluginPanel
}
case "Clue Scrolls (all)":
{
String rank = (result.getClueScrollAll().getRank() == -1) ? "Unranked" : formatter.format(result.getClueScrollAll().getRank());
String rank = (result.getClueScrollAll().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getClueScrollAll().getRank());
text = "Total Clue Scrolls Completed" + System.lineSeparator()
+ "Rank: " + rank;
break;
}
case "Bounty Hunter - Rogue":
{
String rank = (result.getBountyHunterRogue().getRank() == -1) ? "Unranked" : formatter.format(result.getBountyHunterRogue().getRank());
String rank = (result.getBountyHunterRogue().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getBountyHunterRogue().getRank());
text = "Bounty Hunter - Rogue Kills" + System.lineSeparator()
+ "Rank: " + rank;
break;
}
case "Bounty Hunter - Hunter":
{
String rank = (result.getBountyHunterHunter().getRank() == -1) ? "Unranked" : formatter.format(result.getBountyHunterHunter().getRank());
String rank = (result.getBountyHunterHunter().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getBountyHunterHunter().getRank());
text = "Bounty Hunter - Hunter Kills" + System.lineSeparator()
+ "Rank: " + rank;
break;
}
case "Last Man Standing":
{
String rank = (result.getLastManStanding().getRank() == -1) ? "Unranked" : formatter.format(result.getLastManStanding().getRank());
String rank = (result.getLastManStanding().getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(result.getLastManStanding().getRank());
text = "Last Man Standing" + System.lineSeparator()
+ "Rank: " + rank;
break;
@@ -310,8 +310,8 @@ public class HiscorePanel extends PluginPanel
default:
{
Skill requestedSkill = result.getSkill(skill);
String rank = (requestedSkill.getRank() == -1) ? "Unranked" : formatter.format(requestedSkill.getRank());
String exp = (requestedSkill.getRank() == -1) ? "Unranked" : formatter.format(requestedSkill.getExperience());
String rank = (requestedSkill.getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(requestedSkill.getRank());
String exp = (requestedSkill.getRank() == -1) ? "Unranked" : NUMBER_FORMATTER.format(requestedSkill.getExperience());
text = "Skill: " + skillName + System.lineSeparator()
+ "Rank: " + rank + System.lineSeparator()
+ "Experience: " + exp;

View File

@@ -45,6 +45,8 @@ import net.runelite.client.ui.PluginPanel;
@Slf4j
class XpPanel extends PluginPanel
{
private static final NumberFormat NUMBER_FORMATTER = NumberFormat.getInstance();
private final Map<Skill, XpInfoBox> infoBoxes = new HashMap<>();
private final JLabel totalXpGained = new JLabel();
private final JLabel totalXpHr = new JLabel();
@@ -139,7 +141,6 @@ class XpPanel extends PluginPanel
static String formatLine(double number, String description)
{
return NumberFormat.getInstance().format(number) + " " + description;
return NUMBER_FORMATTER.format(number) + " " + description;
}
}