应用优化前心路历程~
19年五月份,突然脑回路一抽,着手开发了一款基于键盘音效的桌面级软件---keytones;命名有点~糙。当时开发的初衷就是为了在deepin系统上能使用一款键盘音效软件,原因当然就是deepin系统自带商店下载的那款XXX键盘音效软件用~不·~了·~。当时突然·产生了一个·想法,键盘音效软件ε=(´ο`*)))唉!!!不如就捣鼓捣鼓,自个开发搞一款吧......历时20天,软件成型了,1,0版本的软件成型了,但是因为一些原因,极速开发了2.0版本;
1.0版本只是提供了Windows、Linux的键盘音效功能;
2,0版本在1,0版本功能上集成开发了Android手机远程遥控功能。
当然这样的好东西肯定给各位分享一下,下载地址:http://www.hongkaiqing.cn/Keytone/
为什么现在要优化一下呢?忘了要交代一下背景,因为当初为了实现时刻的键盘监听,使用了伤敌一千,自残八百的开发方法,使用了循环的线程阻塞,没错,就是这个如此之骚的方法,导致了,每次开启这个软件,电脑的cpu、运行内存就消耗的非常快~这个软件导致我跟朋友们差点绝交了,她们都觉得我开发的不是软件,是病毒~~~虽然如此,我从未想放弃这个软件,毕竟这个算是我这两年在校学习的成果了(本人广东省普通大专院校)的,为什么是两年,不要纠结这个,我们大三都得实习了~
交代了背景,现在就让我们谈谈该如何优化这个桌面级软件:开发语言是java.,当时开发使用了maven管理第三方的jar包,毕竟涉及Windows、Linux这两个平台的底层,肯定需要在前人的努力下再努努力的嘛,键盘监听和键盘音效播放使用的是java 的线程池,和Android端的通信使用了相关的tcp协议、java socket编程、java io流操作,远程遥控使用的是Java Robot类.....现在我面临几个问题需要解决:
1、软件UI太丑了,原生的java开发页面是真的朴素;如图:
2、线程问题,CPU和运行内存吃太满了;如图:
3.代码分包太乱了。。。。
问题一的解决方法:
Java桌面程序开发方式——JavaFx+JFoenix开发。听说这个搞UI还行
问题二的解决方法:
大概要更改策略模式,肯定是不能循环阻塞线程实现监听的,目前在考虑懒汉模式监听键盘~~~
问题三的解决方法:
这个就得运用我实习期间学到的企业级项目开发方法,搞搞。以前的代码基本要重构,问题不大~
这篇文章只是记录一下重构项目前的心路历程,然后就是想搞搞新的功能,如果你对软件功能有想法的,欢迎评论一下~
应用优化前心路历程~相关推荐
- 【博客话题】我的linux心路历程
2011年的某一天,程程同学在QQ上跟我说"linux 20周年了,有没有关于linux话题的好点子",回神一想,是啊,linux都20周年了,是应该搞一个有意义的话题了,我就建议 ...
- 关于代码效率提升的方法心路历程(购物车)
关于代码效率提升的方法心路历程(购物车) 给为园友们,大家好,最近一直解决执行提速,分析老代码的逻辑并提出优化方案,在这个过程中发现了很多不好的习惯,导致很多程序逻辑执行效率低下,现在将其总结一下,如 ...
- ArchSummit微课堂|蘑菇街DevOps实践及心路历程分享
本文整理自 #ArchSummit微课堂#--赵成分享的蘑菇街DevOps实践及心路历程,主要介绍一些运维体系建设中的的经历和实践, 什么是DevOps?为什么是DevOps? 蘑菇街DevOps实践 ...
- 前端证券项目_非科班二本前端大厂面试的心路历程和总结(腾讯、头条、阿里、京东)...
现状和背景 个人背景 我是17年毕业的,大三升大四的暑假期间开始学习前端:在这之前一直在小公司打滚:而且至今已经换了四家公司了(算上接下来入职的公司),可谓跳槽非常频繁(其实是小公司容易倒闭).如果说 ...
- 【转】楼天城楼教主的acm心路历程(作为励志用)
[转]楼天城楼教主的acm心路历程(作为励志用) 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个 回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还 ...
- 转行做数据分析的心路历程
现在很多人不是在学习数据分析的路上,就是在考虑要不要学数据分析的路上,无论是他或她之前所学的专业是理工学科还是文史学科,也无论他或她现在做的工作是不是数据类工作. 如此多的人学习数据分析,再次说明数据 ...
- 我的程序员之路:11 年高考结束到 17 年日本修士的心路历程
前言 友情提示,本文共 6970 字,请耐心阅读阅读.借这个机会可以舒展心中的话,很开心.希望大学新生看到我的经历能从中学习到经验与教训.本文是作者多年总结经验和心得,从大学教育对比,大学学习历程,考 ...
- 涂鸦智能选型 TiKV 的心路历程
作者:luzizhuo 原文来源: https://tidb.net/blog/7496ee47 本文来自涂鸦智能的刘筠松在 PingCAP DevCon 2021 上的分享,包括 TiDB 在 Io ...
- 被拒13次,博士五年未发论文是什么体验?美国计算机Top10大学博士亲述心路历程|然后,剧情反转了……...
金磊 整理转载自 少十七 量子位 报道 | 公众号 QbitAI 不久前,量子位转载报道了<博士生学历真的很重要吗?>,引起了大量关注和热议. 不少盆友表示有被燃到,备受鼓舞. 然而,现 ...
最新文章
- 寒冬中的半个月前端面试
- ECharts简单入门demo
- 使用命令行提取微软补丁文件
- 全网最全清理c盘大全
- 简单欧拉公式c语言算法,算法之_欧拉公式
- 深度学习中的深度是指什么_什么是深度学习
- 服务器xp系统网页打不开网页,ie浏览器打不开网页,xp系统ie打不开网页-
- 365天历史时间顺序读经计划表
- 专注儿童编程,核桃编程招人啦~
- 云原生-备份(原文地址:https://www.infoq.cn/article/fA42rfjV*dYGAvRANFqE)
- 星光不负赶路人|2022年终总结
- csgo开箱网站有哪些?NEW
- matlab 运行报错:变量似乎随迭代次数而改变,请预先分配内存空间以加快运算速度 解决方式
- 对JAVA多态的理解
- 安卓手机在fastboot模式下刷机
- 1157 最高分和最低分
- 基于CTC转换器的自动拼写校正端到端语音识别
- resouce checker插件(检测模型中没有用到的网格、martaril、图片)
- CompareNoCase
- Python的一,二,三维数组中根据下标取得对应数值
热门文章
- iOS 5.0.1完美越狱教程
- html 内嵌xml数据库,是否可以在SQLite数据库中存储XML/HTML文件?
- 模拟——玩具谜题(洛谷 P1563)
- 北大OJ(POJ 2503)在线翻译
- 计算机实训教学论文,计算机实训教学探索论文
- java sbyte_Java Byte parseByte()方法
- exe文件解包_如何获取别人微信小程序的源文件?
- 典型案例:Bug 9776608-多个用户使用错误密码登录同一个用户而造成的用户无法登录异常...
- 叮咚!7.24运维节,您有一份礼物待查收!
- AI+RPA,让你的工作模式开启“新方式”