Lighthouse Android

0 views
Skip to first unread message

Eboni Kleifgen

unread,
Aug 3, 2024, 2:14:42 PM8/3/24
to cuphicuke

Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, SEO, and more.

You can run Lighthouse in Chrome DevTools, from the command line, or as a Node module. You give Lighthouse a URL to audit, it runs a series of audits against the page,and then it generates a report on how well the page did. From there, use the failing audits as indicators on how to improve the page. Each audit has a reference doc explaining whythe audit is important, as well as how to fix it.

To export a report as a gist from the CLI version of Lighthouse, manually create a gist and copy-paste the report's JSON output into the gist. The gist filename containing the JSON output must end in .lighthouse.report.json. See Share reports as JSON for an example of how to generate JSON output from the command line tool.

Developers use many different technologies (backend/CMS/JavaScript frameworks) to build their web pages. Instead of only surfacing general recommendations, Lighthouse is now able to provide more relevant and actionable advice depending on the tools used.

"Stack Packs" allow Lighthouse to detect what platform your site is built on and display specific stack-based recommendations. These recommendations are defined and curated by experts from the community.

Lighthouse Plugins allow domain experts to extend the functionality of Lighthouse for their community's specific needs. You are now able to leverage the data that Lighthouse collects to create new audits. At its core, a Lighthouse plugin is a node module that implements a set of checks that will be run by Lighthouse and added to the report as a new category.

If you are a company or an individual who is integrating Lighthouse as part of the products / services you're offering, first things first - we're so excited you are! We want as many people as possible to use Lighthouse, and this Guidelines and Brand Assets for Integrating Lighthouse is meant to make it straightforward for you to show that Lighthouse is under the hood while protecting our brand.

Lighthouse is open source and contributions are welcome! Check out the repository's issue tracker to find bugs that you can fix, or audits that you can create or improve upon. The issues tracker is also a good place to discuss performance metrics, ideas for new audits, or anything else related to Lighthouse.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

I was trying to build an apk from pwa using bubblewrap. My pwa is hosted in Chemistry for CSEWhen I initiated bubblewrap with my manifest which was in the root of the above mentioned webpage using the bubblewrap init

and after that I build the apk using bubblewrap build . While building, this generates a app-release-signed.apk file and after building, when it goes to lighthouse check, score is 88 but the lighthouse pwa check says no and there checks failed but the apk files are in the same location.This is the first problem...it is not passing the lighthouse pwa check even though it passes this in chrome tools

and the second problem is, with the apk generated without passing the lighthouse checks, I can install it. But the url bar is showing in the app like in this screenshot at the top. But im pwa, it's all finePlease let me know the things I can do for these two to rectify itThanks in advance

Lighthouse only shows a full pass for PWA if you meet all of their criteria. At the moment you are missing a couple that are required (and probably why you cannot create the apk correctly)

something new, respectively old: mann1x wrote (for older pimax headsets with the pitool) on an app called BSManager (BaseStation Manager), which is capable of switching your basestations on depending on power state of your headset (pimax Crystal). unfortunately he stopped three years ago, but the sources are there, available and can be used for your setup, after some edits done to it

in the state it is on github it is not usable for our crystal it needed edits, for the services, pimax play software and the headset itself. what came out is very practical little tool, which also has an RuntimeManager included. means, you can activate an option in the tool to let it autostart with your machine and watch out for your headset being powered on. it then switches the basestations automatically on and starts pimax play, if you want to. or only the basestations; and when you switch your crystal off, it will close all the services and shut down the basestations too. it needs a bluetooth LE device, this is used for connecting to the lighthouses.

Download new LightHouse apps (android apps) that can then be installed on your system via mircoSD card. Apps available for Axiom, Axiom Pro and Axiom XL multifunction displays running on LightHouse 3. LightHouse Apps are not available on eS & gS Series multifunction displays which have been upgraded to LightHouse 3.

Hardware dependant apps will only appear on the Axiom homescreen once the physical hardware has been installed. Downloadable apps only require the APK files to be installed. Subscriptions may be required.

Today's Talk introduces Flashlight, a tool for measuring mobile app performance. Flashlight provides a performance report that highlights issues like high CPU usage on low-end devices. To fix these issues, the Shopify component Flashlist can be used. Flashlight can also be used locally to measure performance changes in React Native apps, with the ability to see the score rapidly changing and improved performance after implementing fixes. More information can be found in the documentation and an article comparing scrolling performance in React Native.

Hi, everyone. Today, I'm happy to talk about measuring mobile app performance and introduce our new tool called Flashlight. It's like a mobile Lighthouse. Just upload your Android app on app.flashlight.dev, configure the measurement, and get a performance report.

Hi, everyone. I'm Alex. I've been working with React Native for the past eight years at BAM, and today I'm very happy to talk to you about measuring mobile app's performance. I've always wanted to have an easy way to know whether the performance of my app was good or not. And I've always been jealous of web developers for Lighthouse. Have you ever used Lighthouse? You can go to any website and with it, with a simple few clicks, just generate a performance report and get a performance score for the web page you visited, which is pretty neat, right?

Wouldn't it be nice if we had something similar, but for mobile apps? Well, today I'm very proud to present you our new tool called Flashlight. It's meant as a mobile Lighthouse. So let's see how it works. You can go right now, if you like, on app.flashlight.dev and upload any Android app, iOS support is on the way. So let's say, for example, this is sharing my phone. We have an app like this, like I have sort of a Netflix clone. I can generate a release APK for it and upload it right here. And then I can configure what I want Flashlight to measure. So by default, you can measure app start performance quite easily. You just need to input here some text that will appear when the app has loaded. For example, here when my app has loaded, I know that family and history will appear so I can just input family here, and then click send me my performance report.

Now a new page opens, and after roughly 10 minutes, Flashlight provides a performance report. We can see that the app has high CPU usage, particularly in the JS Thread. This issue is highlighted by Flashlight, especially on low-end devices. To fix it, we can switch to using the Shopify component called Flashlist, which significantly improves performance.

Now a new page opens, depending on traffic, it should take roughly 10 minutes to finish and Flashlight to get the report. So I'm going to split this up a little bit. So when Flashlight is finally done, after roughly 10 minutes, this is what you would see. You would see that essentially what happened is that Flashlight has started the app 10 times and measured performance and what's really nice is that you have this see report button and if you click it, boom, you have your performance report. And in our case, we can see that it's pretty bad. Luckily, Flashlight gives us some performance metrics to understand why it's that bad.

Here we can see, for example, that this one here is the one that seems to be problematic. High CPU usage. We see that we have a thread using a lot of CPU for a lot of time, a thread called mqtjs. We can check the graphs. So we have frame rates, we have total CPU usage and we have CPU usage per thread and we can see again mqtjs in fact, basically for the whole duration of measure it's really really high. It uses way too much CPU. Okay, we can ask ourselves, what is mqtjs? You guessed it, it's the JS Thread. You never want this guy to be close to 100% of CPU usage because then that's the same as having zero JSFPS, your app would not respond to anything. The JS Thread is blocked. So, that's what happens when we open our app, basically, and flashlight is telling us we have a big issue. Note that actually Flashlight is running on a real low-end android device, a Samsung Galaxy A10s by default. So on a low-end device yeah, performance is really bad. What can we do to fix? Well, our app is basically a vertical list composed of horizontal nested lists. And we're using flat lists for both of those, horizontal and vertical. But let's see what happens if we change to using the Shopify component called Flashlist. Then we can just regenerate our APK and do exactly the same thing as before to get a new report with Flashlist. And boom! Ah, this is much better. We get a score of 75 out of 100. But what's really nice is we can actually go onto the history section here. We can click both reports, so the first one, MyAppWithFlatlist and the second one called Flashlist. And we can open the comparison view. We have the video as well. I'm just going to close them. And for example, if I jump to the CPU usage per thread, we can see quite easily that yeah, in green with Flashlist, CPU usage of the Jez thread is in fact much better with Flashlist.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages