I noticed that after a IRI restart the tip-count starts from 0 again. But i was under the impression that those tips have already been persisted locally, so how come that after a restart all those tips need to be re-requested again from its neighbors?
The tip count is the number of tips currently "in memory" (i.e not in permanent storage/database). Therefore it's 0 when IRI restart.
A new entry is added to the set of tips "in memory" when a new transaction is received and there is no approvers for this transaction in the local database.
There is no process/code to scan the database to find tips at startup. Note that when IRI restart it is probably not fully sync and the transactions that were tips before reboot are probably not tips anymore.